求求了
查看原帖
求求了
707127
czcxyxhycwzy楼主2024/5/22 20:45

只有40分,是哪里出了bug(求dalao指点)

#include<bits/stdc++.h>
using namespace std;
char a[10][10];
int b[10][10];
void work()
{
	for(int i=1;i<=8;i++)
	{
		for(int j=1;j<=8;j++)
		{
			if(a[i][j]=='R')
			{
				b[i][j]=0;
				for(int k=i+1;k<=8;k++)
				{
					if(a[k][j]!='.')break;
					else b[k][j]=0;
				}
				for(int k=i-1;k>=1;k--)
				{
					if(a[k][j]!='.')break;
					else b[k][j]=0;
				}
				for(int k=j+1;k<=8;k++)
				{
					if(a[i][k]!='.')break;
					else b[i][k]=0;
				}
				for(int k=j-1;k<=8;k++)
				{
					if(a[i][k]!='.')break;
					else b[i][k]=0;
				}
			}
			else if(a[i][j]=='B')
			{
				b[i][j]=0;
				for(int k=1;k<=8-i;k++)
				{
					if(a[i+k][j+k]!='.')break;
					else b[i+k][j+k]=0;
				}
				for(int k=1;k<=8-i;k++)
				{
					if(a[i+k][j-k]!='.')break;
					else b[i+k][j-k]=0;
				}
				for(int k=1;k<=8-i;k++)
				{
					if(a[i-k][j+k]!='.')break;
					else b[i-k][j+k]=0;
				}
				for(int k=1;k<=8-i;k++)
				{
					if(a[i-k][j-k]!='.')break;
					else b[i-k][j-k]=0;
				}
			}
		}
	}
	return ;
}
int main()
{
	for(int i=1;i<=8;i++)
	{
		for(int j=1;j<=8;j++)
		{
			cin>>a[i][j];
			b[i][j]=1;
		}
	}
	work();
	for(int i=1;i<=8;i++)
	{
		for(int j=1;j<=8;j++)cout<<b[i][j];
		cout<<endl;
	}
	return 0;
} 

测试点2,8,9,10WA了,其他AC

求dalao指点

2024/5/22 20:45
加载中...