• Предмет: Информатика
  • Автор: AoiK
  • Вопрос задан 11 месяцев назад

Помогите написать код на с++, python или pascal♥

Некоторое натуральное количество шишек Мишка разложил на две кучки с числом шишек в каждой A и B и предложил Маше сыграть с ним в следующую игру: за один ход разрешается взять произвольное натуральное количество шишек, но только из одной кучки. Выигрывает тот, кто забрал последнюю шишку. Маша всегда ходит первой.

Определите для заданных A и Bкто выигрывает при оптимальной игре каждого из игроков.

Входные данные

В первой строке задано количество тестовых случаев N (1 ≤ N≤ 105). В последующих N строках заданы по два неотрицательных целых числа A и B, каждое из которых не превышает 2·109.

Выходные данные

В единственной строке выведите без пробелов последовательность из N цифр 1 или 2 - номер игрока, выигрывающего при оптимальной игре в очередном тестовом случае.

Входные данные
3
3 5
1 1
4 1
Выходные данные
121

Ответы

Ответ дал: Атличьнек
2

Объяснение:

Синтаксис могу плохо помнить:

#include <iostream>

using namespace std;

int main(void){

int x,y,i,N;

cin>>N;

for(i=0;i<N;i++){

cin>>x>>y;

if(x==y) cout<<"2";

else cout<<"1";

}

return 0;

}

Выигрышная стратегия-постоянно уравнивать большее число к меньшему, так игра в конечном итоге сведётся для оппонента к проигрышной позиции (1,1) при оптимальной игре каждого игрока. Так, получается что позиции с равными числами заведомо проигрышные, а с разными-выигрышные для игрока, делающего ход.


AoiK: Спасибо большое за объяснение
Вас заинтересует