Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace P03PresentDelivery
- {
- class Program
- {
- static void Main(string[] args)
- {
- List<string> houses = Console.ReadLine().Split('@').ToList();
- List<int> membersInHouses = new List<int>();
- for (int i = 0; i < houses.Count; i++)
- {
- int members = int.Parse(houses[i]);
- membersInHouses.Add(members);
- }
- int lastPos = 0;
- while (true)
- {
- string command = Console.ReadLine();
- string[] tokens = command.Split();
- if (command == "Merry Xmas!")
- {
- break;
- }
- else if (tokens[0]=="Jump")
- {
- int length = int.Parse(tokens[1])+ lastPos;
- if(length > membersInHouses.Count - 1)
- {
- if (length % membersInHouses.Count == 0)
- {
- length = 0;
- }
- else
- {
- length = length % membersInHouses.Count;
- Console.WriteLine(length);
- }
- }
- for(int j = 0; j < membersInHouses.Count; j++)
- {
- if (j == length)
- {
- lastPos = j;
- }
- }
- Jump(membersInHouses, length);
- }
- }
- int countOfHousesWithPresent = 0;
- for(int j = 0; j < membersInHouses.Count; j++)
- {
- if(membersInHouses[j] > 0)
- {
- countOfHousesWithPresent ++;
- }
- }
- Console.WriteLine($"Santa's last position was {lastPos}.");
- if (membersInHouses.Sum()==0)
- {
- Console.WriteLine( "Mission was successful.");
- }
- else
- {
- Console.WriteLine($"Santa has failed {countOfHousesWithPresent} houses.");
- }
- }
- private static void Jump(List<int> membersInHouses, int length)
- {
- if (membersInHouses[length]==0)
- {
- int index = 0;
- for (int k = 0; k < membersInHouses.Count; k++)
- {
- if (k == length)
- {
- index = k;
- }
- }
- Console.WriteLine($"House {index} will have a Merry Christmas.");
- return;
- }
- else
- {
- membersInHouses[length] = membersInHouses[length] - 2;
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment