蒟蒻求助,有没有大佬帮忙康康
查看原帖
蒟蒻求助,有没有大佬帮忙康康
109220
Farkas_W楼主2020/7/25 07:38
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int n,i,j,k,l;
char a[9][9];
bool b[9][9];
void bb(int x,int y)
{
	for(i=1;i<=7;i++)
	if(x-i>=1&&y-i>=1){
		if(a[x-i][y-i]=='.')b[x-i][y-i]=1;
		else break;
	}
	for(i=1;i<=7;i++)
	if(x-i>=1&&y+i<=8){
		if(a[x-i][y+i]=='.')b[x-i][y+i]=1;
		else break;
	}
	for(i=1;i<=7;i++)
	if(x+i<=8&&y+i<=8){
		if(a[x+i][y+i]=='.')b[x+i][y+i]=1;
		else break;
	}
	for(i=1;i<=7;i++)
	if(x+i<=8&&y-i>=1){
		if(a[x+i][y-i]=='.')b[x+i][y-i]=1;
		else break;
	}
	return;
}
void rr(int x,int y)
{
	for(i=1;i<=7;i++)
	if(x+i<=8){
		if(a[x+i][y]=='.')b[x+i][y]=1;
		else break;
	}
	for(i=1;i<=7;i++)
	if(y+i<=8){
		if(a[x][y+i]=='.')b[x][y+i]=1;
		else break;
	}
	for(i=1;i<=7;i++)
	if(y-i>=1){
		if(a[x][y-i]=='.')b[x][y-i]=1;
		else break;
	}
	for(i=1;i<=7;i++)
	if(x-i>=1){
		if(a[x-i][y]=='.')b[x-i][y]=1;
		else break;
	}
	return;
}
int main()
{
	for(i=1;i<=8;i++)
	for(j=1;j<=8;j++)
	cin>>a[i][j];
	for(i=1;i<=8;i++)
	for(j=1;j<=8;j++)
	{
		if(a[i][j]=='R')
		{
			b[i][j]=1;rr(i,j);
		}
		if(a[i][j]=='B')
		{
			b[i][j]=1;bb(i,j);
		}
		
	}
	for(i=1;i<=8;i++)
	{
		for(j=1;j<=8;j++)
		if(b[i][j]==0)cout<<1;
		else cout<<0;
		cout<<endl;
	}
	return 0;
}
2020/7/25 07:38
加载中...