QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#567220 | #9310. Permutation Counting 4 | Tytytony | WA | 211ms | 5716kb | C++14 | 1.4kb | 2024-09-16 10:12:10 | 2024-09-16 10:12:10 |
Judging History
answer
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
#define N 1000010
using namespace std;
int n,tl,tr,flag;
int l[N],r[N];
void clean(){
flag=0;
for(int i=1;i<=n;i++){
l[i]=0,r[i]=0;
}
}
void pc(int L,int R,int typ=0){
if(flag==1) return;
int ll=L,rr=R;
if(l[ll]!=0){
if(l[ll]<rr){
ll=l[ll]+1;
pc(ll,rr,1);
}
else if(l[ll]==rr){
flag=1;
return;
}
else if(l[ll]>rr){
if(l[rr+1]==0){
r[l[ll]]=rr+1;
l[rr+1]=l[ll];
l[ll]=0;
}
else{
int tmpl=rr+1,tmpr=l[ll];
r[l[ll]]=0;
// l[rr+1]=0;
l[ll]=0;
pc(tmpl,tmpr);
}
}
}
if(r[rr]!=0){
if(r[rr]>ll){
rr=r[rr]-1;
pc(ll,rr,1);
}
else if(r[rr]==ll){
flag=1;
return;
}
else if(r[rr]<ll){
if(r[ll-1]==0){
l[r[rr]]=ll-1;
r[ll-1]=r[rr];
r[rr]=0;
}
else{
int tmpl=r[rr],tmpr=ll-1;
l[r[rr]]=0;
// r[ll-1]=0;
r[rr]=0;
pc(tmpl,tmpr);
}
}
}
if(typ==0){
l[ll]=rr;
r[rr]=ll;
}
return;
}
int main(){
int T; cin>>T;
while(T--){
cin>>n;
clean();
for(int i=1;i<=n;i++){
cin>>tl>>tr;
if(flag==0) pc(tl,tr);
}
if(flag==1){
cout<<"0\n";
continue;
}
if(flag==0){
cout<<"1\n";
continue;
}
}
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 5648kb
input:
4 5 1 2 1 5 1 2 1 2 2 2 5 1 1 2 4 2 3 5 5 3 4 5 3 5 1 2 3 4 3 5 3 3 5 1 5 1 4 4 5 5 5 1 2
output:
0 1 0 0
result:
ok 4 tokens
Test #2:
score: -100
Wrong Answer
time: 211ms
memory: 5716kb
input:
66725 14 7 7 4 6 7 8 8 13 2 13 6 13 6 10 14 14 1 10 9 11 7 9 3 8 4 12 5 12 12 2 6 3 6 7 11 2 5 1 1 6 12 8 12 2 3 7 9 7 8 1 10 1 4 10 4 8 4 4 6 10 9 10 2 3 2 7 1 3 3 4 2 2 3 10 20 3 12 10 14 19 20 19 20 1 9 7 9 13 16 17 17 16 18 2 11 5 19 6 17 11 17 3 6 3 11 7 20 8 17 3 18 10 15 9 20 16 5 10 2 10 2 1...
output:
1 1 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 1 0 1 1 ...
result:
wrong answer 224th words differ - expected: '0', found: '1'