Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Globalization;
- using System.Threading;
- public class ProgrammerDNA
- {
- public static void Main()
- {
- Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
- checked
- {
- int height = int.Parse(Console.ReadLine());
- char firstLetter = Convert.ToChar(Console.ReadLine());
- int indexLetter = Convert.ToInt32(firstLetter) - 65;
- for (int i = 0; i < height / 7; i++)
- {
- indexLetter = PrintFullSevenRowsOfDNASequence(indexLetter);
- }
- int remainder = height % 7;
- if (remainder > 0)
- {
- int countLetterSeq = 1;
- int dotSeqLength = 3;
- string outerDotSequence;
- for (int row = 0; row < remainder; row++)
- {
- outerDotSequence = new string('.', dotSeqLength);
- string lettersSequence = string.Empty;
- for (int i = 0; i < countLetterSeq; i++)
- {
- indexLetter %= 7;
- char letter = Convert.ToChar(indexLetter + 65);
- lettersSequence += letter;
- indexLetter++;
- }
- Console.WriteLine("{0}{1}{0}", outerDotSequence, lettersSequence);
- if (row < 3)
- {
- countLetterSeq += 2;
- dotSeqLength--;
- }
- else
- {
- countLetterSeq -= 2;
- dotSeqLength++;
- }
- }
- }
- }
- }
- private static int PrintFullSevenRowsOfDNASequence(int indexLetter)
- {
- checked
- {
- int countLetterSeq = 1;
- int dotSeqLength = 3;
- string outerDotSequence;
- for (int row = 0; row < 7; row++)
- {
- outerDotSequence = new string('.', dotSeqLength);
- string lettersSequence = string.Empty;
- for (int i = 0; i < countLetterSeq; i++)
- {
- indexLetter %= 7;
- char letter = Convert.ToChar(indexLetter + 65);
- lettersSequence += letter;
- indexLetter++;
- }
- Console.WriteLine("{0}{1}{0}", outerDotSequence, lettersSequence);
- if (row < 3)
- {
- countLetterSeq += 2;
- dotSeqLength--;
- }
- else if (row < 6)
- {
- countLetterSeq -= 2;
- dotSeqLength++;
- }
- }
- return indexLetter;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement