Задача 06. Точка на страна на правоъгълник
Здравейте!
Опитвам се да реша тази задача от много дълго време и затова реших да помоля за помощ...
При тест във Visual Studio изходът е правилен.
Следвах решението, което е в книгата "Programming Basics C#". Judge не ми го приема.
Опитах втория вариант на решението, дадено в книгата. Не...
Следвах решението от видеото "По-сложни проверки". И него не ми го приема.
Търсих из форума за други решения. Изглеждат ми напълно идентични с моите. Тях ги приема, а моите не.
Очевидно не успявам да видя някакъв детайл. Моля, погледнете отстрани и ми кажете къде бъркам.
От сега съм благодарен. :)
Ето го вариант 1:
using System;
namespace PointOnABorder
{
class Program
{
static void Main(string[] args)
{
var x1 = double.Parse(Console.ReadLine());
var y1 = double.Parse(Console.ReadLine());
var x2 = double.Parse(Console.ReadLine());
var y2 = double.Parse(Console.ReadLine());
var x = double.Parse(Console.ReadLine());
var y = double.Parse(Console.ReadLine());
if (((x == x1 || x == x2) && (y >= y1 || y <= y2)) ||
((y == y1 || y == y2) && (x >= x1 || x <= x2)))
{
Console.WriteLine("Border");
}
else
{
Console.WriteLine("Inside/Outside");
}
}
}
}
И вариант 2:
using System;
namespace PointOnABorder
{
class Program
{
static void Main(string[] args)
{
double x1 = double.Parse(Console.ReadLine());
double y1 = double.Parse(Console.ReadLine());
double x2 = double.Parse(Console.ReadLine());
double y2 = double.Parse(Console.ReadLine());
double x = double.Parse(Console.ReadLine());
double y = double.Parse(Console.ReadLine());
var leftside = (x == x1) && (y >= y1) && (y <= y2);
var rightside = (x == x2) && (y >= y1) && (y <= y2);
var upside = (y == y1) && (x >= x1) && (x <= x2);
var downside = (y == y2) && (x >= x1) && (x <= x2);
if (leftside || rightside || upside || downside)
{
Console.WriteLine("Border");
}
else
{
Console.WriteLine("Inside/Outside");
}
}
}
}
Господин Judge ми дава само 27 точки, а опитах как ли не.
Какво не мога да видя?