QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#135164 | #6644. Red Black Grid | salvator_noster# | WA | 20ms | 3712kb | C++14 | 2.1kb | 2023-08-05 12:18:09 | 2023-08-05 12:18:13 |
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 main(){
rep(cas,1,rd()){
int n=rd(),m=rd();
bool fl=0;
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++;
}
}
int C4=min(m/4,cnt4);
int C2=min((m-C4*4)/2,cnt2);
int C3;
rep(i,-3,3)rep(j,-3,3){
if(fl)continue;
int t4=C4+i;
int t2=C2+j;
if(t4>=0&&t4<=cnt4&&t2>=0&&t2<=cnt2&&(m-t4*4-t2*2)%3==0){
int t3=(m-t4*4-t2*2)/3;
if(t3>=0&&t3<=cnt3){
C2=t2,C4=t4,C3=t3;
puts("Possible");
rep(i,1,n){
rep(j,1,n){
if((i+j)&1){
if((i==1||i==n)&&(j==1||j==n)&&C2)
C2--,printf("B");
else if(((i==1||i==n)||(j==1||j==n))&&C3)
C3--,printf("B");
else if(C4)printf("B"),C4--;
else printf("R");
}else printf("B");
}
puts("");
}
fl=1;
}
}
}
cnt2=0,cnt3=0,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++;
}
}
C4=min(m/4,cnt4);
C2=min((m-C4*4)/2,cnt2);
rep(i,-3,3)rep(j,-3,3){
if(fl)continue;
int t4=C4+i;
int t2=C2+j;
if(t4>=0&&t4<=cnt4&&t2>=0&&t2<=cnt2&&(m-t4*4-t2*2)%3==0){
int t3=(m-t4*4-t2*2)/3;
if(t3>=0&&t3<=cnt3){
C2=t2,C4=t4,C3=t3;
puts("Possible");
rep(i,1,n){
rep(j,1,n){
if(((i+j)&1)==0){
if((i==1||i==n)&&(j==1||j==n)&&C2)
C2--,printf("B");
else if(((i==1||i==n)||(j==1||j==n))&&C3)
C3--,printf("B");
else if(C4)printf("B"),C4--;
else printf("R");
}else printf("B");
}
puts("");
}
fl=1;
}
}
}
if(!fl)puts("Impossible");
}
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3644kb
input:
2 3 6 3 1
output:
Possible BBB BBR BRB Impossible
result:
ok correct! (2 test cases)
Test #2:
score: -100
Wrong Answer
time: 20ms
memory: 3712kb
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 BB RB Impossible Possible BR RB Possible BBB BBB BBB Impossible Possible BBB BBB BBR Possible BBB BBB BRB Possible BBB BRB BBB Impossible Possible BBB BBR BRB Impossible Possible BBB BRB RBR Possible BBB RBR BRB Possible BBR BRB RBR Impossible Possible B...
result:
wrong answer Condition failed: "getNum(vec) == k" (test case 2)