跳跳棋(加强版)
问题描述
hty想到最近出过一道1*N的跳跳棋游戏,于是他想是否2维也能有很好的方法呢?于是有了下面这道题,题目如下:在一个无限大的棋盘的格子上有一些棋子,这些棋子构成一个M*N的矩形(M为高度,N为宽度)。你可以用一个棋子跳过另一个相邻的棋子,被跳过的棋子将被移去,请你求出最少能剩下几个棋子。
输入文件
本题有多组数据。对于每组数据,仅有一行,两个正整数M,N,最后一行M=N=0,无需处理此行数据。
输出文件
对于每组数据,一个正整数,表示最少剩下的棋子数。
输入样例
3 4
0 0
输出样例
2
数据规模和约定
对于20%的数据,N,M ≤ 10。
对于40%的数据,N,M ≤ 100。
对于100%的数据,N,M ≤ 1000。Task ≤ 10。
其实规律不就是:
n=1 时 输出 (m+1) div 2;
m=1 时 输出 (n+1) div 2;
n>=2 且 m>=2 时
若 ( n mod 3=0 ) 或 (m mod 3=0 ) 时 输出 2
否则输出 1.
具体见程序的IF流,感谢人工智能......
具体证明请见:http://hi.baidu.com/yhc0/blog/item/073f13d915629c2510df9bce.html
没有拿满分的可以惭愧了......