QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#135250 | #6644. Red Black Grid | salvator_noster# | WA | 73ms | 3712kb | C++14 | 2.5kb | 2023-08-05 13:14:11 | 2023-08-05 13:14:15 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=a,i##end=b;i<=i##end;++i)
#define drep(i,a,b) for(int i=a,i##end=b;i>=i##end;--i)
using ll = long long;
int rd(){
int x;
scanf("%d",&x);
return x;
}
int A[105][105];
int main(){
rep(cas,1,rd()){
int n=rd(),m=rd();
bool fl=0;
if(n<=3){
int S=(1<<(n*n))-1;
rep(s,0,S){
rep(i,1,n){
rep(j,1,n){
if((1<<((i-1)*n+j-1))&s){
A[i][j]=0;
}else A[i][j]=1;
}
}
int res=0;
rep(i,1,n)rep(j,1,n){
if(i!=n)if(A[i+1][j]==A[i][j])res++;
if(j!=n)if(A[i][j]==A[i][j+1])res++;
}
if(res==m){
fl=1;
puts("Possible");
rep(i,1,n){
rep(j,1,n)printf("%c",A[i][j]?'B':'R');
puts("");
}
break;
}
}
if(!fl)puts("Impossible");
continue;
}
int cnt2=0,cnt3=0,cnt4=0;
rep(i,1,n)rep(j,1,n){
if((i+j)&1){
if((i==1||i==n)&&(j==1||j==n))
cnt2++;
else if((i==1||i==n)||(j==1||j==n))
cnt3++;
else cnt4++;
}
}
rep(t2,0,cnt2)rep(t3,0,cnt3)rep(t4,0,cnt4){
if(fl)continue;
int C2=t2,C3=t3,C4=t4;
if(C2*2+C3*3+C4*4==m){
fl=1;
puts("Possible");
rep(i,1,n){
rep(j,1,n){
if((i+j)&1){
if((i==1||i==n)&&(j==1||j==n)){
if(C2)printf("B"),C2--;
else printf("R");
}
else if(((i==1||i==n)||(j==1||j==n))){
if(C3)printf("B"),C3--;
else printf("R");
}
else {
if(C4)printf("B"),C4--;
else printf("R");
}
}else printf("B");
}
puts("");
}
}
}
cnt2=cnt3=cnt4=0;
rep(i,1,n)rep(j,1,n){
if(((i+j)&1)==0){
if((i==1||i==n)&&(j==1||j==n))
cnt2++;
else if((i==1||i==n)||(j==1||j==n))
cnt3++;
else cnt4++;
}
}
rep(t2,0,cnt2)rep(t3,0,cnt3)rep(t4,0,cnt4){
if(fl)continue;
int C2=t2,C3=t3,C4=t4;
if(C2*2+C3*3+C4*4==m){
fl=1;
puts("Possible");
rep(i,1,n){
rep(j,1,n){
if(((i+j)&1)==0){
if((i==1||i==n)&&(j==1||j==n)){
if(C2)printf("B"),C2--;
else printf("R");
}
else if(((i==1||i==n)||(j==1||j==n))){
if(C3)printf("B"),C3--;
else printf("R");
}
else {
if(C4)printf("B"),C4--;
else printf("R");
}
}else printf("B");
}
puts("");
}
}
}
if(!fl)puts("Impossible");
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3712kb
input:
2 3 6 3 1
output:
Possible BRB RBB BBB Impossible
result:
ok correct! (2 test cases)
Test #2:
score: -100
Wrong Answer
time: 73ms
memory: 3608kb
input:
4424 1 0 2 4 2 3 2 2 2 1 2 0 3 12 3 11 3 10 3 9 3 8 3 7 3 6 3 5 3 4 3 3 3 2 3 1 3 0 4 24 4 23 4 22 4 21 4 20 4 19 4 18 4 17 4 16 4 15 4 14 4 13 4 12 4 11 4 10 4 9 4 8 4 7 4 6 4 5 4 4 4 3 4 2 4 1 4 0 5 40 5 39 5 38 5 37 5 36 5 35 5 34 5 33 5 32 5 31 5 30 5 29 5 28 5 27 5 26 5 25 5 24 5 23 5 22 5 21 5...
output:
Possible B Possible BB BB Impossible Possible RB BB Impossible Possible BR RB Possible BBB BBB BBB Impossible Possible RBB BBB BBB Possible BRB BBB BBB Possible RBR BBB BBB Possible BBR RBB BBB Possible BRB RBB BBB Possible BBR RRB BBB Possible RBR BRB BBB Possible BRB RBR BBB Possible RBR BRB RBB I...
result:
wrong answer Condition failed: "getNum(vec) == k" (test case 2)