求调
查看原帖
求调
995117
pineappler楼主2023/12/13 20:50

测到第二个点WA了

思路就是起点处构造一个环,终点处构造一个“n”形

不知道哪里错了,求调,帮我下个数据也行啊QAQ(蒟蒻看不懂CF)

#include<bits/stdc++.h>
using namespace std;
const long long N=200;
void Solve(){
	long long n,m,k;
	char a1[N][N],a2[N][N];
	scanf("%lld%lld%lld",&n,&m,&k);
	if(((n+m)%2 == k%2) && k>n+m-2){
		printf("YES\n");
		bool step=false;
		for(long long i=1;i<n;i++){
			if(step) a2[i][1]='B';
			else a2[i][1]='R';
			step=!step;
		}
		for(long long i=1;i<m;i++){
			if(step) a1[n][i]='B';
			else a1[n][i]='R';
			step=!step;
		}
		a1[n-1][m-1]=a1[n][m-2];
		a2[n-1][m-1]=a2[n-1][m]=a1[n][m-1];
		a1[1][1]=a1[2][1]='B';
		for(long long i=1;i<=n;i++){
			for(long long j=1;j<m;j++) {
				if(a1[i][j]=='B') printf("B ");
				else printf("R ");
			}
			printf("\n");
		}
		for(long long i=1;i<n;i++){
			for(long long j=1;j<=m;j++) {
				if(a2[i][j]=='B') printf("B ");
				else printf("R ");
			}
			printf("\n");
		}	
	}else{
		printf("NO\n");
	}
}
int main(){
	long long T;
	scanf("%lld",&T);
	while(T--)
		Solve();
	return 0;
}
2023/12/13 20:50
加载中...