Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Вопросы начинающих программистов
Перезагрузить страницу Помогите с решением задачи с выходным файлом INPUT.TXT
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию Помогите с решением задачи с выходным файлом INPUT.TXT - 24.02.2003, 06:36

срочно нужно решить задачку... помогите, please...
"Простая игра"
Имя входного файла: INPUT.TXT
Имя выходного файла: OUTPUT.TXT
Ограничение по времени тестирования: 2 секунды на один тест.
Ученики школы Хогварц любят играть в очень простую игру. Играют два человека. Перед ними – огромная куча из N волшебных палочек. Каждый из игроков во время своего хода может взять из этой кучи любое количество палочек, равное неотрицательной степени числа 2, т.е. 1, 2, 4, 8,… . Игроки ходят по очереди. Тот, кому достанется последняя палочка, тот и выигрывает.
Требуется написать программу, которая при заданных исходных данных определяет победителя в этой игре. При этом следует учитывать, что игроки играют оптимально.
Формат входных данных:
Входной файл INPUT.TXT содержит единственное целое положительное число N (N≤10^250), задающее число волшебных палочек в начале игры.
Формат выходных данных:
Выходной файл OUTPUT.TXT должен содержать в первой строке цифру ‘1’, если выиграет тот, кто ходит первым, или цифру ‘2’ – в противном случае. Если игру выиграл тот, кто ходил первым, то во второй строке этого файла должно содержаться минимальное число палочек, которое должен взять игрок, выполнявший ход первым, чтобы гарантировать свою победу.
Пример файлов входных и выходных данных:
INPUT.TXT OUTPUT.TXT
8 1
2

если из k спичек можно брать от одной до n спичек, то нужно стремиться оставлять после своего хода кратное (n+1) число спичек, а на ход противника, взявшего k спичек, нужно отвечать взятием (n-k) спичек.
Тут дела обстоят по-другому. Судя по всему, после своего хода следует оставлять такое количество спичек, чтобы: а) из следующий игрок не мог забрать сразу; б) после любого хода следующего игрока, можно было бы забрать все оставшееся или опять взять как-нибудь по-хитрому.
Все это дело никак не могу сообразить в виде формул, а, следовательно, и в виде алгоритма.
Что делать с этим всем?
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с решением задачи S3nek Prolog 5 21.10.2011 12:45
Помогите с решением задачи Sergey90 Prolog 3 24.04.2011 18:44
Помогите с решением задачи ~Lisena~ Prolog 0 21.04.2011 20:45
Помогите с решением задачи! dezkeed Prolog 2 06.10.2010 01:01
Помогите пожалуйста с решением задачи на BProloge Bananza Prolog 1 03.07.2010 19:29
Помогите с решением задачи snowboard86 Pascal 8 04.05.2009 19:39
Помогите пожалуйста люди добрые с решением задачи! назарово Prolog 0 31.01.2008 06:52
Помогите с решением задачи по массивам в Pascle Anonymous Вопросы начинающих программистов 8 10.03.2004 02:27
Помогите с решением задачи по программированию Zemfiriak Вопросы начинающих программистов 1 23.02.2004 01:21
Помогите с решением задачи, для программистов Anonymous Вопросы начинающих программистов 2 20.01.2004 15:41
Помогите с решением задачи, аналитическое вычисление производной Yaguan Вопросы начинающих программистов 10 22.12.2003 12:24
Помогите, пожалуйста, с решением задачи по массивам Anonymous Вопросы начинающих программистов 3 17.12.2003 19:34



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов