Nackey

Rainer

Dec 12th, 2017
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.42 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. class Program
  6. {
  7.     static void Main()
  8.     {
  9.         var sequence = Console.ReadLine().Split().Select(int.Parse).ToList();
  10.         int donaldIndex = sequence[sequence.Last()];
  11.         int counter = 0;
  12.  
  13.         sequence.RemoveAt(sequence.Count - 1);
  14.         var original = new List<int>();
  15.         original.AddRange(sequence);
  16.  
  17.         DecreaseAllNumbers(sequence);
  18.  
  19.         int nextIndex = int.Parse(Console.ReadLine());
  20.  
  21.         while (true)
  22.         {
  23.             donaldIndex = sequence[nextIndex];
  24.             counter++;
  25.  
  26.             DecreaseAllNumbers(sequence);
  27.  
  28.             if (sequence[nextIndex] == 0)
  29.             {
  30.                 break;
  31.             }
  32.             ReturnTheOriginalValue(sequence, original);
  33.             nextIndex = int.Parse(Console.ReadLine());
  34.         }
  35.  
  36.         Console.WriteLine($"{string.Join(" ", sequence)}");
  37.         Console.WriteLine(counter);
  38.     }
  39.  
  40.     private static void ReturnTheOriginalValue(List<int> sequence, List<int> original)
  41.     {
  42.         for (int i = 0; i < sequence.Count; i++)
  43.         {
  44.             if (sequence[i] == 0)
  45.             {
  46.                 sequence[i] = original[i];
  47.             }
  48.         }
  49.     }
  50.  
  51.     private static void DecreaseAllNumbers(List<int> sequence)
  52.     {
  53.         for (int i = 0; i < sequence.Count; i++)
  54.         {
  55.             sequence[i] -= 1;
  56.         }
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment