0056-简单的博弈

题目

简单的博弈
难度级别:B; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B
试题描述

简单的博弈游戏:两个人只玩一个棋子,棋子开始时在棋盘的右上角,棋盘的大小为 m 行 n 列。即棋子待在的位置是(1, n)。在这个棋盘上,棋子只能够向左、左下(斜线)和下方移动。作为对弈的双方,每人每一步必须将棋子挪动,直到一方不能挪动的棋子为止。不能挪动的一方为输方。告诉你 m 和 n 后,你能完成这个任务吗?如果第一人胜利,则结果为first!,第二人胜利结果为 second! 本题假设两人都是极为聪明,不会走错(即均遵循最优策略)。

输入
一行包含两个正整数 m 和 n,两数间用一个空格分隔。
输出
按题目的要求输出。
输入示例
8 8
输出示例
first!
其他说明
数据范围:0 < m <= 2000, 0 < n <= 2000。

分析

    老师说过,学好博弈论很重要……

    所以……这是一道必胜策略的数学题。推出判断公式即可。

代码

#include<bits/stdc++.h>
using namespace std;
int a,b;
int main()
{
	scanf("%d%d",&a,&b);
	if(a*b%2) printf("second!");
	else printf("first!");
	return 0;
}
作者:18西斯光剑
出处:https://www.cnblogs.com/DARTH-VADER-EMPIRE/
Copyright ©2018-2020 18西斯光剑
All Rights Reserved.
原文地址:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/9552326.html