Loading...
TeodoraL.Kostadinova avatar TeodoraL.Kostadinova 2 Точки

13. Point in the Figure -задача със звездичка

Здравейте,

цяла вечер я решавам, докарах го до 95 точки, но накрая вече се забатачих в собствената си логика, и просто имам нужда и някой друг да погледне. Знам че проблема е някъде в общата страна на двата правоъгълника, използвах осемнадесет хиляди булеви оператора, за да проверя дали точката попада там, нооо...както казах вече се забатачих.

https://pastebin.com/QvqczffD

Тагове:
0
Programming Basics
Miroslav_Kisov avatar Miroslav_Kisov 60 Точки

Решение: https://pastebin.com/ZdbNStMz

0
janco76 avatar janco76 1 Точки

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Point in the Figure 
{
    class Program
    {
        static void Main(string[] args)
        {

            int h = int.Parse(Console.ReadLine());
            int x = int.Parse(Console.ReadLine());
            int y = int.Parse(Console.ReadLine());

            int x1 = 0;
            int y1 = 0;
            int x2 = 3 * h;
            int y2 = h;

            int x3 = h;
            int y3 = h;
            int x4 = 2 * h;
            int y4 = 4 * h;

            bool in_firsFigure = (x > x1) && (x < x2) && (y > y1) && (y < y2);

            bool in_secondFigure = (x > x3) && (x < x4) && (y > y3) && (y < y4);

            bool border = ((x == x1 && y >= y1 && y <= y2) || (x == x2 && y >= y1 && y <= y2)
                        || (x == x3 && y >= y2 && y <= y4) || (x == x4 && y >= y2 && y <= y4)) 
                        || ((y==y1 && x>=x1 && x<=x2) || (y == y2 && x >= x4 && x <= x2) 
                        || (y == y3 && x >= x1 && x <= x3) || (y == y4 && x >= x3 && x <= x4));

            bool obchta_strana = (x >= x3 && x <= x4 && y == y2);

            if (in_firsFigure || in_secondFigure || obchta_strana && !border)

                Console.WriteLine("inside");

            else if (border)

                Console.WriteLine("Border");
                   
            
            else if (!border && !in_firsFigure && !in_secondFigure && !obchta_strana)

                Console.WriteLine("outside");
           
        }
    }
}

0
17/06/2018 17:26:09
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.