洛谷 CF630R 题解
题目传送门
题意:
学生和教授两人轮流给 \(n×n\) 棋盘上的格子染色,不能将已染色的格子的周围格进行染色。谁没有格子染谁就输。若两人都以最好的方式染色,学生应选择先手还是后手?
思路:
我们可以将棋盘分为黑白两色,两人只能染完两种颜色其中一种。
可以分为两种情况:
- 当 \(n×n\) 为奇数时(也可以说当 \(n\) 为奇数时),白格数量为偶数,黑格数量为奇数,学生需要先手,染黑格,教授后面只能染黑格,学生胜。
- 当 \(n×n\) 为偶数时(也可以说当 \(n\) 为偶数时),白格数量和黑格数量都是偶数,学生后手赢。
注意:
千万不能输出多余的空格,我就被卡了好几次。
code:
#include <bits/stdc++.h>
using namespace std;
long long n;
int main(){
cin>>n;
if(n%2==0) cout<<2;
else cout<<1;
return 0;
}
本文来自博客园,作者:PandaBlack,转载请注明原文链接:https://www.cnblogs.com/liu-black/p/cf630r-tijie.html