QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#633232#7757. Palm Islandqz2003TL 1ms3832kbC++201.7kb2024-10-12 14:51:092024-10-12 14:51:09

Judging History

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

  • [2024-10-12 14:51:09]
  • 评测
  • 测评结果:TL
  • 用时:1ms
  • 内存:3832kb
  • [2024-10-12 14:51:09]
  • 提交

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;
            	continue;
			}
            while(q.front()!=ne[hd]){
                int tp=q.front();
                q.pop();
                q.push(tp);
                cout<<2;
            }
            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;
			if(ne[q.back()]==q.front()){
            	hd=q.front();
            	q.pop();
            	q.push(hd);
            	cout<<1;            	
			}
			
        }
        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: 3832kb

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
Time Limit Exceeded

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
222112111122
2211122211
11
11
112
22
11
1211
22111
2
211
111
112
122112111
1

2112111122111
112111
22112111
211
121112211
222111122
1
211211
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

result: