P6985 [NEERC2014] Alter Board 题解
P6985 [NEERC2014] Alter Board 题解
P6985 | AC
思路
很神奇。
这是一个棋盘:(
0101010
1010101
0101010
1010101
0101010
1010101
0101010
贪心考虑让每次翻转中同色的尽可能多,即“副作用”尽量小。
方法:可以先把每个偶数行整行翻转,得到下面的棋盘:
0101010
0101010
0101010
0101010
0101010
0101010
0101010
接下来干什么大家到知道:把所有偶数列整列翻转即可。
为什么是偶数行,偶数列?
当
最终显然要
代码实现只需模拟即可。
代码
#include<bits/stdc++.h>
using namespace std;
int n,m;
int main(){
cin>>n>>m;
cout<<n/2+m/2<<'\n';
for(int i=2;i<=n;i+=2)
cout<<i<<" 1 "<<i<<' '<<m<<'\n';
for(int i=2;i<=m;i+=2)
cout<<"1 "<<i<<' '<<n<<' '<<i<<'\n';
return 0;
}