Advertisement
BonchoBelutov

Generate Rectangles

Apr 3rd, 2016
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.62 KB | None | 0 0
  1. using System;
  2.  
  3. namespace GenerateRectangles
  4. {
  5.     class GenerateRectangles
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             // От конзолата се въвеждат две числа, по едно на ред:
  10.             //•   Цяло число n в интервала[1…100] – задава минималната и максималната координата на връх.
  11.             //•   Цяло число m в интервала[0…50000] – задава минималната площ на генерираните правоъгълници.
  12.             //Изход
  13.             //•   На конзолата трябва да се отпечатат описаните правоъгълници във формат като в примерите по-долу.
  14.             //•   Ако за числата n и m няма нито един правоъгълник, да се изведе “No”.
  15.             //•   Редът на извеждане на правоъгълниците е без значение.
  16.  
  17.             var n = int.Parse(Console.ReadLine());
  18.             var m = int.Parse(Console.ReadLine());
  19.             var Nreverse = n * -1;
  20.             var area = 0;
  21.             if (n >= 1 && n <= 100 && m >= 0 && m <= 50000)
  22.             {
  23.                 for (int left = Nreverse; left < n; left++)
  24.                 {
  25.                     for (int right = n; right > Nreverse; right--)
  26.                     {
  27.                         for (int top = Nreverse; top < n; top++)
  28.                         {
  29.                             for (int bottom = n; bottom > Nreverse; bottom--)
  30.                             {
  31.                                 if (Nreverse <= left && left < right && right <= n && Nreverse <= top && top < bottom && bottom <= n)
  32.                                 {
  33.                                     area = Math.Abs(left - right) * Math.Abs(top - bottom);
  34.                                     if (area >= m)
  35.                                     {
  36.  
  37.                                         Console.WriteLine("({0}, {1}) ({2}, {3}) -> {4}", left, top, bottom, right, area);
  38.                                     }
  39.  
  40.                                     if (Math.Abs(n - Nreverse) * Math.Abs(n - Nreverse) < m)
  41.                                     {
  42.                                         Console.WriteLine("No");
  43.                                         return;
  44.                                     }
  45.                                 }
  46.                             }
  47.                         }
  48.                     }
  49.                 }
  50.             }
  51.         }
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement