Помогите написать код на с++, 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
Answers & Comments
Объяснение:
Синтаксис могу плохо помнить:
#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) при оптимальной игре каждого игрока. Так, получается что позиции с равными числами заведомо проигрышные, а с разными-выигрышные для игрока, делающего ход.