QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#633194#7757. Palm Islandqz2003WA 1ms3876kbC++201.8kb2024-10-12 14:45:212024-10-12 14:45:21

Judging History

你现在查看的是最新测评结果

  • [2024-10-12 14:45:21]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3876kb
  • [2024-10-12 14:45:21]
  • 提交

answer

#include<bits/stdc++.h>
typedef long long ll;
#define inf 1e7
using namespace std;
int t,n;

int a[1005],b[1005];
int ne[1005];
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>t;
    while(t--){
        cin>>n;
        queue<int> q;
        int cnt=0;
        for(int i=1;i<=n;i++){
            cin>>a[i];
            q.push(a[i]);
        }
        for(int i=1;i<=n;i++){
            cin>>b[i];
            ne[b[i]]=b[i-1];
        }
        for(int i=1;i<=n;i++){
            ne[b[i]]=b[i+1];
        }
        ne[b[n]]=-1;
        int hd;
        while(1){
            queue<int> qq;
            bool ok=1;
            hd=q.front();
            q.pop();
            if(ne[hd]==-1){
            	q.push(hd);
            	cout<<1;
            	cnt++;
            	continue;
			}
            while(q.front()!=ne[hd]){
                int tp=q.front();
                q.pop();
                q.push(tp);
                cout<<2;
                cnt++;
            }
            qq=q;
            ok=1;
            for(int i=1;i<=n;i++){
                if(i==1){
                    if(hd!=b[i]){
                        ok=0;
                        break;
                    }
                    continue;
                }
                int tp=qq.front();
                if(tp!=b[i]){
                    ok=0;
                    break;
                }
                qq.pop();
            }
            if(ok){
                break;
            }
            q.push(hd);
            cout<<1;
            cnt++;
			while(ne[q.back()]==q.front()){
            	hd=q.front();
            	q.pop();
            	q.push(hd);
            	cout<<1;
            	cnt++;
			}
			if(cnt>=n*n) break;
        }
        if(t==0) break;
        cout<<"\n";
    }

    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3876kb

input:

2
3
1 2 3
2 3 1
4
1 2 3 4
2 1 3 4

output:

1
2111

result:

ok Correct. (2 test cases)

Test #2:

score: -100
Wrong Answer
time: 1ms
memory: 3640kb

input:

200
3
3 1 2
2 3 1
4
2 4 1 3
2 1 4 3
4
1 4 2 3
2 1 3 4
5
4 3 2 1 5
2 4 5 3 1
5
2 1 5 4 3
5 2 4 1 3
4
4 3 1 2
1 2 4 3
3
1 2 3
3 1 2
4
1 4 2 3
2 1 4 3
4
1 3 2 4
1 4 3 2
3
3 2 1
1 3 2
3
2 3 1
1 3 2
4
1 4 3 2
3 1 2 4
3
1 2 3
1 3 2
3
3 2 1
2 3 1
5
5 1 3 2 4
2 4 5 1 3
4
4 3 1 2
1 4 3 2
4
1 3 4 2
2 4 3 1
3
...

output:

11
21112211
22111
2221112
2211122211
11
11
112
22
11
1211
22111
2
211
111
112
122112111
1

2112111122111
112111
22112111
211
121112211
222111122
1
211211
111111111111111111111111111
112111
2
2
122112111
211
221111
22112111122111
2221121111
211
22111
2211
111
1112
11
122211
112
22
22211211
2
11
12221...

result:

wrong answer On Case#28: The lenght of your output is 27(exceed n*n = 25). (test case 28)