Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- class Eggcelent
- {
- static void Main()
- {
- int N = int.Parse(Console.ReadLine());
- int height = 2 * N;
- int width = (3 * N) - 1;
- int topHeight = N - 1;
- int bottomHeight = N - 1;
- int outerDots = N;
- int innerSymbols = N - 1;
- int count = 0;
- // print top row
- Console.Write('.');
- Console.Write(new string('.', outerDots));
- Console.Write(new string('*', innerSymbols));
- Console.Write(new string('.', outerDots));
- Console.Write('.');
- Console.WriteLine();
- // print top part
- for (int i = 1; i < topHeight; i++)
- {
- outerDots -= 2;
- if (i == 1) innerSymbols += 2;
- else innerSymbols += 4;
- if (outerDots <= 0)
- {
- outerDots = 0;
- innerSymbols = width - 2;
- count++;
- }
- Console.Write('.');
- Console.Write(new string('.', outerDots));
- Console.Write('*');
- Console.Write(new string('.', innerSymbols));
- Console.Write('*');
- Console.Write(new string('.', outerDots));
- Console.Write('.');
- Console.WriteLine();
- }
- // print ribbon
- for (int i = 0; i < 2; i++)
- {
- Console.Write(".*");
- for (int j = 0; j < width - 2; j++)
- {
- if (i == 0)
- {
- if (j % 2 == 1) Console.Write('.');
- else Console.Write('@');
- }
- else
- {
- if (j % 2 == 1) Console.Write('@');
- else Console.Write('.');
- }
- }
- Console.Write("*.");
- Console.WriteLine();
- }
- // print bottom part
- outerDots = 0;
- innerSymbols = width - 4;
- for (int i = bottomHeight - 1; i >= 1; i--)
- {
- if (count > 0)
- {
- outerDots = 0;
- innerSymbols = width - 2;
- }
- else
- {
- outerDots += 2;
- innerSymbols -= 4;
- }
- if (outerDots >= width)
- {
- outerDots = 0;
- innerSymbols = width + 2;
- }
- Console.Write('.');
- Console.Write(new string('.', outerDots));
- Console.Write('*');
- Console.Write(new string('.', innerSymbols));
- Console.Write('*');
- Console.Write(new string('.', outerDots));
- Console.Write('.');
- Console.WriteLine();
- count--;
- }
- // print bottom row
- outerDots = N;
- innerSymbols = N - 1;
- Console.Write('.');
- Console.Write(new string('.', outerDots));
- Console.Write(new string('*', innerSymbols));
- Console.Write(new string('.', outerDots));
- Console.Write('.');
- Console.WriteLine();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement