[Homework] C# Basics - Complex Conditions - Задача 13 - Точка във фигурата (Point in the Figure)
Стигнах до "Задача 13 - Точка във фигурата" и като видях, че е със звездичка (*) си казах - до тук съм Но реших все пак да пробвам и я написах от първият път дори без подсказки, та си казах да споделя с вас, понеже използвах вложен цикъл във вложеният цикъл и може би решението ми би било интересно за някой, а и да помогне на някой, който не е успял да я реши.
static void Main()
{
int h = int.Parse(Console.ReadLine());
int x = int.Parse(Console.ReadLine());
int y = int.Parse(Console.ReadLine());
if ((x >= 0 && x <= h * 3 && y >= 0 && y <= h) || (x >= h && x <= h * 2 && y >= h && y <= h * 4))
{
if ((x > 0 && x < h * 3 && y > 0 && y < h) || (x > h && x < h * 2 && y > h && y < h * 4))
Console.WriteLine("inside");
else
{
if (x > h && x < h * 2 && y == h)
Console.WriteLine("inside");
else
Console.WriteLine("border");
}
}
else
Console.WriteLine("outside");
}
Изненадващо, Judge също ми даде 100/100 точки
Повечето задачи ги решавам след 3тият път, но тази успях още от първият. Ако имате някакви критики, допълнения или коментари, ще се радвам да ви чуя.
Много добре си се справил със задачата. Тя е лесна, но много неща се правят и трябва да се внимава да не се допуска грешка. Моят код е по-сложен и по-объркващ от твоя. И аз имам 100 точки от Judge. Ето го моето решение:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication9
{
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 < h)) || ((x > h) && (x < 2 * h) && (y > h) && (y < 4 * h)) || ((x > h) && (x < 2 * h) && (y == h)))
{
Console.WriteLine("Inside");
}
else if (((0 <= x) && (x <= 3 * h) && (y == 0)) || ((x == 0) && (y >= 0) && (y <= h)) || ((x == 3 * h) && (y >= 0) && (y <= h)) || ((x >= 0) && (x <= h) && (y == h))
|| ((x == h) && (y >= h) && (y <= 4 * h)) || ((x == 2 * h) && (y >= h) && (y <= 4 * h)) || ((x >= h) && (x <= 2 * h) && (y == 4 * h))||((x>=2*h)&&(x<=3*h)&&(y==h)))
{
Console.WriteLine("border");
}
else
{
Console.WriteLine("outside");
}
}
}
}