Loading...
annsta avatar annsta 305 Точки

Започваш с грешно конструирани фигури - няма координати 7h или 8h.

1
VanessaShopping avatar VanessaShopping 48 Точки

Имам и един друг въпрос. 0х 0у нали трябва да се намира в горен ляв ъгъл ? Ако е така защо на рисунката у0 се намира в долен ляв ъгъл ?

0
annsta avatar annsta 305 Точки

[0,0] си е точно в долен ляв ъгъл :) Фигурите са разположени изцяло в първи квадрант.

0
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки

Задачката с правоъгълника, която се решаваше в час имаше координатна система, която беше обърната, тоест Y расте отгоре-надолу, докато при тази задачка от домашното е показано че Y нараства отдолу-нагоре

0
Yanchev.todor avatar Yanchev.todor 2 Точки

Здравейте.

Мисля че реших задачата но не ми дава 100 точки в judge. Ето кода: http://pastebin.com/yJ7TjgTB .

0
yasen6275 avatar yasen6275 18 Точки

Без да съм 100% сигурен, мисля че за smalLeftSide и остaнслите подобни променли трябва да заградиш в скоби изразите след =.

-2
11/02/2016 09:35:14
Yanchev.todor avatar Yanchev.todor 2 Точки

Не е това- резултатъ е същия. Изтествах всички страни за border и всички за   inside  и  outside и резултатите ми са верни и незнам при кой случей ми дава грешката

0
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки

var baseSide = x >= 0 && x <= h && y == 0;

трябва да стане

var baseSide = x >= 0 && x <= 3*h && y == 0;

-1
luki_strike avatar luki_strike 9 Точки

Ето и моето решение: http://pastebin.com/WW0R7Bgy

0
12/02/2016 18:08:55
fbinnzhivko avatar fbinnzhivko 1586 Точки

100/100 - judge - https://judge.softuni.bg/Contests/Practice/Index/153#10  - http://pastebin.com/hj6RGQDB

Разделям го на 3 правоъгълника!

using System;

class PointFigure
{
    static void Main()
    {
        var h = int.Parse(Console.ReadLine());
        var x = int.Parse(Console.ReadLine());
        var y = int.Parse(Console.ReadLine());

        if ((x > h) && (x < 2 * h) && (y == h)) { Console.WriteLine("inside"); }
        else if ((x >= h) && (x <= 2 * h) && (y >= h) && (y <= 4 * h))
        {
            if ((x > h) && (x < 2 * h) && (y > h) && (y < 4 * h)) { Console.WriteLine("inside"); }
            else if ((x >= h) && (x <= 2 * h) || (y >= h) && (y <= 4 * h)) { Console.WriteLine("border"); }
        }

        else if ((x >= 0) && (x <= 3 * h) && (y >= 0) && (y <= h))
        {
            if ((x > 0) && (x < 3 * h) && (y > 0) && (y < h)) { Console.WriteLine("inside"); }
            else if ((x >= 0) && (x <= 3 * h) || (y >= 0) && (y <= h)) { Console.WriteLine("border"); }
        }
        else { Console.WriteLine("outside"); }
    }
}

2
06/03/2016 20:50:32
fbinnzhivko avatar fbinnzhivko 1586 Точки

100/100 - judge - https://judge.softuni.bg/Contests/Practice/Index/153#10  - http://pastebin.com/hdKBqRD9

Разделям го на 2 правоъгълника!

using System;

class PointFigure
{
    static void Main()
    {
        var h = int.Parse(Console.ReadLine());
        var x = int.Parse(Console.ReadLine());
        var y = int.Parse(Console.ReadLine());

        if ((x >= 0) && (x <= 3 * h) && (y >= 0) && (y <= h))
        {
            if ((x > 0) && (x < 3 * h) && (y > 0) && (y < h)) { Console.WriteLine("inside"); }
            else if ((x > h) && (x < 2 * h) && (y == h)) { Console.WriteLine("inside"); }
            else { Console.WriteLine("border"); }
        }
        else if ((x >= h) && (x <= 2 * h) && (y >= h) && (y <= 4 * h))
        {
            if ((x > h) && (x < 2 * h) && (y > h) && (y < 4 * h)) { Console.WriteLine("inside"); }
            else if ((x > h) && (x < 2 * h) && (y == h)) { Console.WriteLine("inside"); }
            else { Console.WriteLine("border"); }
        }
        
        else { Console.WriteLine("outside"); }

    }
}

3
06/03/2016 22:37:40
MorganFreeFarm avatar MorganFreeFarm 51 Точки

Здравей, може ли да погледнеш тази снимка > http://prikachi.com/images.php?images/593/8684593l.png

if ((x >= 0) && (x <= 3 * h) && (y >= 0) && (y <= h)) < С този ред код ти изписваш червената фигура, която съм оградил.

А с този > else if ((x >= h) && (x <= 2 * h) && (y >= h) && (y <= 4 * h)) < Синята ?

Благодаря !

0
Supbads avatar Supbads 5 Точки

Синята фигура която вие сте очератли не е тази, която той проверява с втората проверка. Червената фигура, която сте оградили, е с първата проверка, докато всичките останали правоъгълници останали са от 2рата проверка. Успех!

0
12/03/2016 04:27:56
Supbads avatar Supbads 5 Точки

Поздравления за добре написаното решение! Исках само да допълня, че във втория главен "if" , средната проверка която се повтаря и е частен случай на това по едни критерии да е "border" а по други да е "inside" (което е правилното поради това че има долепен втори правоъгълник от горе над средния квадрат), няма как да се изпълни (освен че е излишна. Помисли защо ^^. Успех за напред!

0
KOSTADINMARKOV avatar KOSTADINMARKOV 22 Точки

using System;

class PointFigure
{
    static void Main()
    {
        var h = int.Parse(Console.ReadLine());
        var x = int.Parse(Console.ReadLine());
        var y = int.Parse(Console.ReadLine());

        if ((x > h) && (x < 2 * h) && (y == h)) { Console.WriteLine("inside"); }
        else if ((x >= h) && (x <= 2 * h) && (y >= h) && (y <= 4 * h))
        {
            if ((x > h) && (x < 2 * h) && (y > h) && (y < 4 * h)) { Console.WriteLine("inside"); }
            else if ((x >= h) && (x <= 2 * h) || (y >= h) && (y <= 4 * h)) { Console.WriteLine("border"); }
        }

        else if ((x >= 0) && (x <= 3 * h) && (y >= 0) && (y <= h))
        {
            if ((x > 0) && (x < 3 * h) && (y > 0) && (y < h)) { Console.WriteLine("inside"); }
            else if ((x >= 0) && (x <= 3 * h) || (y >= 0) && (y <= h)) { Console.WriteLine("border"); }
        }
        else { Console.WriteLine("outside"); }
    }
}

Мисля че по този начин трябва да ти дате 100 точки,можеш да провериш все пак.

-1
Nightarrow avatar Nightarrow 0 Точки

Кода ми е малко hard core ама дава 100%, но покрива и проверки които не са вкл. в Judge-a. :)

 

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

namespace point_in_figure
{
    class Program
    {
        static void Main(string[] args)
        {
            var h = int.Parse(Console.ReadLine());
            var x = int.Parse(Console.ReadLine());
            var y = int.Parse(Console.ReadLine());

            if ((x > 0 && x < 3 * h && y > 0 && y < 1 * h) || (x > 1 * h && x < 2 * h && y > 0 && y < 4 * h))
            {
                Console.WriteLine("inside");
            }
            else if (((x >= 0 && x <=3*h && y == 0) || (x>= 0 && x <= 1*h && y == 1*h) || (x >= 2*h && x<= 3*h && y == 1*h)||(x <= 2*h && x >=1*h && y ==4*h)) || ((x== 0 && y<=1*h && y >= 0) || (x == 3*h && y <= 1* h && y>=0)|| (x == 1*h && y >= 1*h && y <= 4*h) || (x == 2 * h && y >= 1 * h && y <= 4 * h)))
            {
                Console.WriteLine("border");
            }
            else
                Console.WriteLine("outside");
        }
    }
}
 

-1
peter788502 avatar peter788502 3 Точки

"Hard core" ? Имаш предвид "hard coded"? :)

0
Kralev avatar Kralev 15 Точки

Здрасти! Записал си се в нашата група за проекта! Търсим връзка с теб! Търси Josif Ivanov, Jordan Jordanov, или Ivan Kralev  във фейса!

0
peter788502 avatar peter788502 3 Точки

Ето моето решение - http://pastebin.com/65e6QNJj 

Разглеждам сградата като два правоъгълника - един хоризонтален и един вертикален. Създавам метод "PositionRegardsToRectangle" който определя позицията на точка спрямо правоъгълник. За специланите случаи ползвам и exclusive or "^". Това решение ми се струва добро с оглед на extendibility, тоест ако сградата се промени - примерно кулата не е по средата, а от дясно, или пък ако има повече от два провоъгълни компонента, кодът много лесно може да се адаптира според условието.

0
27/06/2016 14:48:56
LardaX avatar LardaX 15 Точки

Пускам и аз едно решение - една идея по-дълго е, но пък е малко по-прегледно от проверка на целия бордър на един ред :D пък и смятам, че така е по-лесно ако направиш грешка да си я откриеш, както се случи при мен :D
http://pastebin.com/uJy0qVJf

Метода на peter с PositionRegardsToRectangle най-вероятно е по-практичен при промяна във фигурата ама..още ми е извън компетенциите и разбиранията :P

0
NikolaVasilev avatar NikolaVasilev 0 Точки

Здравейте! Ето и 1 решение от мен което работи на 100% и дава 100т. Надявам се да помогне на някой, но е по-добре всеки да се справя сам. :)

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)
        {
            var h = int.Parse(Console.ReadLine());
            var x = int.Parse(Console.ReadLine());
            var y = int.Parse(Console.ReadLine());

 

//kvadra1

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

//kvadrat 2

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

//logicheska konsrtukciq za "inside"

            if ((x > x1 && x < x2 && y > y1 && y < y2) || (x > x3 && x < x4 && y > y3 && y < y4) || (y == y2 && x3 < x && (x3 * 2) > x))
            { Console.WriteLine("Inside"); }

//logicheska konstrukciq za "border"

            else if ((y == y1 && x >= x1 && x <= x2) || (y == y2 && (x >= x1 && x <= x3)) || (y == y2 && (x >= x4 && x <= x2)) || ((x == x1 || x == x2 )&& y1 <= y && y <= y2) || (y == y4 && x >= x3 && x <= x4) || (x == x3 && y >= y3 && y <= y4) || (x == x4 && y >= y3 && y <= y4))  { Console.WriteLine("Border"); }

//logicheska konstrukciq za "outside"

            else { Console.WriteLine("Outside"); }
        }
    }
}
 

-2
Iliev88 avatar Iliev88 39 Точки

Пускам и своето решение на проблема. Мисля, че е добре, а и съдията така мисли. :)

http://pastebin.com/0dW646RH

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