C++ на бесконечной вправо и вверх шахматной доске находится ладья. два игрока передвигают ее по очереди. за один ход разрешено сдвинуть ладью вниз или влево на произвольное (ненулевое) количество клеток так, чтобы ладья не покинула доску. цель игры – переместить ладью в левый нижний угол, то есть клетку с координатами (1,1). известно, что оба игрока придерживаются оптимальной стратегии. игрок №1 ходит первым, при этом он обязан совершить хотя бы один ход. если первый ход сделать нельзя, то определить победителя также невозможно. требуется написать программу, которая найдет номер победившего игрока, либо определит, что этого сделать нельзя. входные данные входной файл input.txt содержит два натуральных числа, разделенных пробелами: x и y – координаты ладьи перед первым ходом (x,y ≤ 109). выходные данные в выходной файл output.txt выведите одно число – номер победившего игрока. если победителя определить невозможно, то следует вывести 0. примеры № input.txt output.txt 1 1 1 0 2 1 6 1

1mizik1 1mizik1    2   22.09.2019 05:10    46

Ответы
nikitakurganov nikitakurganov  27.08.2020 01:42
Visual Studio 2017 C++

#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream read_file("input.txt");
ofstream write_file("output.txt");
int x, y;
read_file >> x >> y;
if (x == 1 && y == 1) { write_file << "0" << endl; return 0; }
if (x == 1 || y == 1) { write_file << "1" << endl; return 0; }
if (x!=y) { write_file << "1" << endl; return 0; }
if (x == y) { write_file << "2" << endl; return 0; }
return 0;
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика