为什么总有一个测试点是错的
2026-08-03 18:01:34
发布于:浙江
12阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
char b[105][105];
int n,m,qx[105],qy[105];
void ma(int r,int c){
if(r>=0&&r<n&&c>=0&&c<n&&b[r][c]=='.'){
b[r][c]='#';
}
}
int ma(){
cin>>n>>m;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
b[i][j]='.';
}
}
for(int k=0;k<m;k++){
cin>>qx[k]>>qy[k];qx[k]--;qy[k]--;
b[qx[k]][qy[k]]='Q';
}
for(int k=0;k<m;k++){
int r=qx[k],c=qy[k];
for(int j=0;j<n;j++){
ma(r,j);
}
for(int i=0;i<n;i++){
ma(i,c);
}
for(int d=1;d<n;d++){
ma(r+d,c+d);
ma(r-d,c-d);
ma(r+d,c-d);
ma(r-d,c+d);
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<b[i][j];
}
cout<<endl;
}
return 0;
}
//'_'
//'.'
全部评论 1
对了
2026-08-03 来自 浙江
0







有帮助,赞一个