您的位置:首页 > 其它

Codeforces Round #254(div2)A

2014-08-19 02:26 363 查看
很有趣的题。想到了就非常简单,想不到就麻烦了。

其实就是一种逆向思维:最后结果肯定是这样子:

WBWBWBWB...

BWBWBWBW...

WBWBWBWB...

...

里面有“-”的地方改成“-”就行了。

但是我开始是正着想的,想每个点怎么处理,这还要看它周围点的状态,越想越麻烦。。。

这题中体现的正难则反的逆向思维很值得学习。

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
#include<stack>
#include<queue>
using namespace std;
#define INF 1000000000
#define eps 1e-8
#define pii pair<int,int>
#define LL long long int
int n,m;
char mp[105][105];
int main()
{
//freopen("in1.txt","r",stdin);
//freopen("out.txt","w",stdout);
scanf("%d%d",&n,&m);
getchar();
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
scanf("%c",&mp[i][j]);
}
getchar();
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(mp[i][j]=='-')
{
printf("-");
}
else
{
if((i+j)&1)
{
printf("B");
}
else
printf("W");
}
}
printf("\n");
}
//fclose(stdin);
//fclose(stdout);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: