2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Помогите решыть !!!!
Сообщение13.02.2009, 17:04 


25/10/08
32
Простая игра
(Время: 1 сек. Память: 16 Мб)

Дед Мазай и заяц играют в очень простую игру. Перед ними – огромная куча из N одинаковых морковок. Каждый из них во время своего хода может взять из этой кучи любое количество морковок, равное неотрицательной степени числа 2, т.е. 1, 2, 4, 8,… . Начинает игру либо дед Мазай, либо заяц. Затем игроки ходят по очереди. Тот, кто возьмет последнюю морковку, тот и выигрывает.

Требуется написать программу, которая при заданных исходных данных определяет победителя в этой игре. При этом следует учитывать, что игроки играют оптимально.
Входные данные

Входной файл INPUT.TXT содержит единственное целое положительное число N (N ≤ 10^250), задающее число морковок в начале игры.
Выходные данные

Выходной файл OUTPUT.TXT должен содержать в первой строке цифру «1», если выиграет тот, кто ходит первым, или цифру «2» – в противном случае. Если игру выиграл тот, кто ходил первым, то во второй строке этого файла должно содержаться минимальное число морковок, которое должен взять игрок, выполнявший ход первым, чтобы гарантировать свою победу.
1)INPUT.TXT
3
OUTPUT.TXT
2
2)INPUT.TXT
8
OUTPUT.TXT
1
2

 Профиль  
                  
 
 
Сообщение13.02.2009, 17:13 
Аватара пользователя


01/12/07
172
А вы сами пробовали хоть что-то написать :?

 Профиль  
                  
 
 
Сообщение13.02.2009, 18:04 


25/10/08
32
matan писал(а):
А вы сами пробовали хоть что-то написать :?

пробовал...но значительных продвигань небыло...

 Профиль  
                  
 
 
Сообщение23.02.2009, 01:52 


23/02/09
5
Попробуйте blackmagic :)

Код:
program algo(input,output);

var
  s:string;
  i,ans:integer;

begin
ans:=0;
assign(input,'input.txt');
assign(output,'output.txt');
reset(input);
rewrite(output);
readln(s);
for i:=1 to length(s) do
  begin
  inc(ans,ord(s[i])-ord('0'));
  end;
case ans mod 3 of
  0: begin
     writeln('2');
     end;
  1: begin
     writeln('1');
     writeln('1');
     end;
  2: begin
     writeln('1');
     writeln('2');
     end;
  end;
close(input);
close(output);
end.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group