Блог пользователя Fox235

Автор Fox235, 13 лет назад, По-русски

Здравствуйте Всем.
Решил порешать задачки из "Архива" и завис на задачке 2A "Победитель". Написал код на C# , проверил разные варианты. При отправке выдает, что ошибка в 6 тесте. Никак не могу понять в чем ошибка. Помогите, пожалуйста. Код ниже:

struct stNumberAndPoints
    {
        public String sPlayerName;
        public int iPlayerPoints;
    }

    class Program
    {
        static void Main()
        {
            int iCountRounds = Convert.ToInt32(Console.ReadLine());
            List<stNumberAndPoints> lstData = new List<stNumberAndPoints>();
            stNumberAndPoints stnapCurrentPlayer;
            String[] sCurrentLine;
            for (int i = 0; i < iCountRounds; i++)
            {
                sCurrentLine = Console.ReadLine().Split(' ');
                if (sCurrentLine.Count() == 2)
                {
                    stnapCurrentPlayer.sPlayerName = sCurrentLine[0].Trim().ToLower();
                    int iCount = lstData.Where(it => it.sPlayerName == stnapCurrentPlayer.sPlayerName).Count();
                    if (iCount > 0)
                    {
                        stnapCurrentPlayer.iPlayerPoints = Convert.ToInt32(sCurrentLine[1].Trim()) + lstData.Where(it => it.sPlayerName == stnapCurrentPlayer.sPlayerName).LastOrDefault().iPlayerPoints;
                        if (Convert.ToInt32(sCurrentLine[1].Trim()) != 0)
                        {
                            lstData.Remove(lstData.Where(it => it.sPlayerName == stnapCurrentPlayer.sPlayerName).FirstOrDefault());
                            lstData.Add(stnapCurrentPlayer);
                        }
                    }
                    else
                    {
                        stnapCurrentPlayer.iPlayerPoints = Convert.ToInt32(sCurrentLine[1].Trim());
                        lstData.Add(stnapCurrentPlayer);
                    }
                }
            }

            Console.WriteLine(lstData.Where(it => it.iPlayerPoints == lstData.Max(it1 => it1.iPlayerPoints)).FirstOrDefault().sPlayerName);
        }
    }

  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

13 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится
Название топика настораживает :)
  • 13 лет назад, # ^ |
      Проголосовать: нравится +2 Проголосовать: не нравится
    ну :). раз не проходит тесты значит тут косяк )
    • 13 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      С косяком помочь? Неа, я не курю, оставьте себе)
      • 13 лет назад, # ^ |
        Rev. 10   Проголосовать: нравится 0 Проголосовать: не нравится

        Да не, постой. Он, наверное, о дверном косяке говорит. Правда?:D

        В любом случае со словом "косяк" нужно поосторожнее
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Нажмите на номер своей отправки в очереди - откроется окно с кодом, а внизу будет протокол тестирования. Там можно посмотреть и первый тест, на котором случился вылет, и правильный ответ на этот тест.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Следующий тест иллюстрирует тот факт что игрок может набрать больше M очков, затем слить часть очков а в конце победить. (c) ivan.popelyshev
Input:
Masha 12
Masha -5
Sasha 10
Masha +3
Output: 
Masha

Если не ошибаюсь, у вас выдает sasha