QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#115219 | #5956. Paradox Sort | Pittow | 32 ✓ | 155ms | 1744kb | C++14 | 1019b | 2023-06-25 09:18:47 | 2023-06-25 09:18:50 |
Judging History
answer
#include<cstdio>
int T,n,k,i,j,a[104][104];
bool b[104],v[104];//confirmed,visited
int read(){
char c;
while(c=getchar(),c<'0'||c>'9');
int r=0;
for(;c>='0'&&c<='9';c=getchar())(r*=10)+=c-'0';
return r;
}void dfs(int g){
v[g]=0;
for(int i=0;i<n;++i)if(v[i]&&a[g][i])dfs(i);
}bool check(int cu,int de){
if(cu==n||a[de][cu])cu=de;
b[de]=0;
for(int i=0;i<n;++i)v[i]=b[i];
if(b[k])dfs(k);
b[de]=1;
if(cu<n)for(int i=0;i<n;++i)if(a[cu][i])v[i]=0;
for(int i=0;i<n;++i)if(b[i]&&v[i])return 0;
return 1;
}int main(){
T=read();
for(int t=0;t<T;++t){
n=read();k=read();
for(i=0;i<n;++i)
for(j=0;j<n;++j)if(i!=j){
char c;
while(c=getchar(),c!='Y'&&c!='N');
a[i][j]=c=='Y';
}printf("Case #%d:",t+1);
for(i=0;i<n;++i)b[i]=1;
int cur=n;
if(!check(n,n)){printf(" IMPOSSIBLE");goto end;}
for(i=0;i<n;++i){
for(j=0;j<n;++j)
if(b[j]&&check(cur,j))goto aha;
aha:b[j]=0;printf(" %d",j);
if(i==0||a[j][cur])cur=j;
}end:puts("");
}return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 4
Accepted
Test #1:
score: 4
Accepted
time: 1ms
memory: 1476kb
input:
100 3 0 -YN N-Y YN- 2 0 -Y N- 5 0 -YNNN N-YNN YN-YN YYN-Y YYYN- 5 1 -NYYY Y-NNN NY-NY NYY-N NYNY- 6 5 -YYNNY N-YYNY NN-NYN YNY-NY YYNY-Y NNYNN- 4 0 -YYY N-YN NN-N NYY- 2 0 -Y N- 5 1 -NYNY Y-YYY NN-YY YNN-N NNNY- 7 5 -YYYYYY N-NNYYN NY-YNNN NYN-NYN NNYY-NN NNYNY-N NYYYYY- 8 0 -YNNNNNN N-YNNNNN YN-YNN...
output:
Case #1: 1 2 0 Case #2: 0 1 Case #3: 3 4 2 1 0 Case #4: 0 2 3 4 1 Case #5: 0 1 3 4 2 5 Case #6: 0 1 2 3 Case #7: 0 1 Case #8: 0 1 2 3 4 Case #9: IMPOSSIBLE Case #10: 6 7 5 4 3 2 1 0 Case #11: 0 1 2 Case #12: 0 1 Case #13: 0 1 Case #14: IMPOSSIBLE Case #15: IMPOSSIBLE Case #16: 7 8 6 5 4 3 1 2 0 Case...
result:
ok 100 lines
Subtask #2:
score: 28
Accepted
Test #2:
score: 28
Accepted
time: 155ms
memory: 1744kb
input:
100 39 0 -YNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN N-YNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN YN-YNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN YYN-YNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN YYYN-YNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN YYYYN-YNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN YYYYYN-YNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN YYYYYYN-YNN...
output:
Case #1: 37 38 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Case #2: 0 13 23 28 30 34 38 40 41 42 43 46 49 51 52 33 5 1 17 32 15 29 19 10 16 47 48 9 4 27 6 7 18 31 8 11 26 50 3 37 25 35 45 20 24 39 22 12 44 36 2 21 14 Case #3: 0 1 2 3 4 5 6 8 9...
result:
ok 100 lines
Extra Test:
score: 0
Extra Test Passed