QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#696519#9519. Build a Computerliubw_#AC ✓1ms3964kbC++112.5kb2024-10-31 23:05:312024-10-31 23:05:33

Judging History

This is the latest submission verdict.

  • [2024-10-31 23:05:33]
  • Judged
  • Verdict: AC
  • Time: 1ms
  • Memory: 3964kb
  • [2024-10-31 23:05:31]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;
int a[110],b[110],c[110],d[110],f[110];
int s=1,t=2,n=2;
int ans[110][110],num[110][110];
int New(){
    return ++n;
}
void add(int x,int y,int z){
    if(x==s&&z==0) return ;
    ans[x][++ans[x][0]]=y;
    num[x][ans[x][0]]=z;
}
int Work(int x){
    if(x==0) return t;
    if(f[x]) return f[x];
    f[x]=New();
    add(f[x],Work(x-1),0);
    add(f[x],Work(x-1),1);
    return f[x];
}
void Output(){
    printf("%d\n",n);
    for(int i=1;i<=n;i++){
        printf("%d ",ans[i][0]);
        for(int j=1;j<=ans[i][0];j++){
            printf("%d %d ",ans[i][j],num[i][j]);
        }
        printf("\n");
    }
}
int main()
{
    int L,R;
    cin>>L>>R;
    while(L){
        a[++a[0]]=L%2;
        L/=2;
    }
    while(R){
        b[++b[0]]=R%2;
        R/=2;
    }
    if(a[0]==b[0]){
        int zc=s; int fla=0;
        for(int i=a[0];i>=1;i--){
            c[i]=zc;
            int x;
            if(i!=1)
                x=New();
            else x=t;
            if(fla==0&&a[i]!=b[i]){
                fla=i;
            }
            add(zc,x,a[i]);
            zc=x;
        }
        for(int i=1;i<a[0];i++){
            if(i==fla) break;
            if(a[i]==0){
                add(c[i],Work(i-1),1);
            }
        }
        
        zc=c[fla];
        for(int i=fla;i>=1;i--){
            d[i]=zc;
            int x;
            if(i!=1)
                x=New();
            else x=t;
            add(zc,x,b[i]);
            zc=x;
        }
        for(int i=1;i<b[0];i++){
            if(i==fla||!fla) break;
            if(b[i]==1){
                add(d[i],Work(i-1),0);
            }
        }
    }
    else{
        int zc=s;
        for(int i=a[0];i>=1;i--){
            c[i]=zc;
            int x;
            if(i!=1)
                x=New();
            else x=t;
            add(zc,x,a[i]);
            zc=x;
        }
        for(int i=1;i<a[0];i++){
            if(a[i]==0){
                add(c[i],Work(i-1),1);
            }
        }
        
        zc=s;
        for(int i=b[0];i>=1;i--){
            d[i]=zc;
            int x;
            if(i!=1)
                x=New();
            else x=t;
            add(zc,x,b[i]);
            zc=x;
        }
        for(int i=1;i<b[0];i++){
            if(b[i]==1){
                add(d[i],Work(i-1),0);
            }
        }
        for(int i=a[0]+1;i<b[0];i++){
            add(s,Work(i-1),1);
        }
    }
    Output();
    return 0;
}

这程序好像有点Bug,我给组数据试试?

详细

Test #1:

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

input:

5 7

output:

5
1 3 1 
0 
2 4 0 5 1 
1 2 1 
2 2 1 2 0 

result:

ok ok

Test #2:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

10 27

output:

12
2 3 1 8 1 
0 
2 4 0 6 1 
1 5 1 
2 2 0 2 1 
2 7 0 7 1 
2 2 0 2 1 
2 9 1 12 0 
1 10 0 
2 11 1 7 0 
2 2 1 2 0 
2 6 0 6 1 

result:

ok ok

Test #3:

score: 0
Accepted
time: 0ms
memory: 3964kb

input:

5 13

output:

9
2 3 1 6 1 
0 
2 4 0 5 1 
1 2 1 
2 2 0 2 1 
2 7 1 9 0 
1 8 0 
2 2 1 2 0 
2 5 0 5 1 

result:

ok ok

Test #4:

score: 0
Accepted
time: 0ms
memory: 3804kb

input:

1 1000000

output:

39
20 2 1 3 1 27 1 26 1 25 1 24 1 23 1 22 1 30 1 29 1 28 1 35 1 34 1 33 1 32 1 31 1 37 1 36 1 38 1 39 1 
0 
2 4 1 39 0 
2 5 1 38 0 
2 6 1 36 0 
1 7 0 
2 8 1 31 0 
1 9 0 
1 10 0 
1 11 0 
1 12 0 
2 13 1 28 0 
1 14 0 
1 15 0 
2 16 1 22 0 
1 17 0 
1 18 0 
1 19 0 
1 20 0 
1 21 0 
1 2 0 
2 23 0 23 1 
2 24...

result:

ok ok

Test #5:

score: 0
Accepted
time: 0ms
memory: 3848kb

input:

1 1

output:

2
1 2 1 
0 

result:

ok ok

Test #6:

score: 0
Accepted
time: 0ms
memory: 3832kb

input:

7 9

output:

7
2 3 1 5 1 
0 
1 4 1 
1 2 1 
1 6 0 
1 7 0 
2 2 1 2 0 

result:

ok ok

Test #7:

score: 0
Accepted
time: 0ms
memory: 3892kb

input:

3 7

output:

6
2 3 1 4 1 
0 
1 2 1 
2 5 1 6 0 
2 2 1 2 0 
2 2 0 2 1 

result:

ok ok

Test #8:

score: 0
Accepted
time: 0ms
memory: 3960kb

input:

1 5

output:

5
3 2 1 3 1 5 1 
0 
1 4 0 
2 2 1 2 0 
2 2 0 2 1 

result:

ok ok

Test #9:

score: 0
Accepted
time: 0ms
memory: 3792kb

input:

1 4

output:

5
3 2 1 3 1 5 1 
0 
1 4 0 
1 2 0 
2 2 0 2 1 

result:

ok ok

Test #10:

score: 0
Accepted
time: 0ms
memory: 3896kb

input:

8 9

output:

5
1 3 1 
0 
1 4 0 
1 5 0 
2 2 0 2 1 

result:

ok ok

Test #11:

score: 0
Accepted
time: 0ms
memory: 3796kb

input:

7 51

output:

13
4 3 1 5 1 12 1 11 1 
0 
1 4 1 
1 2 1 
2 6 1 11 0 
1 7 0 
1 8 0 
2 9 1 10 0 
2 2 1 2 0 
2 2 0 2 1 
2 12 0 12 1 
2 13 0 13 1 
2 10 0 10 1 

result:

ok ok

Test #12:

score: 0
Accepted
time: 0ms
memory: 3784kb

input:

51 79

output:

16
2 3 1 11 1 
0 
1 4 1 
2 5 0 10 1 
2 6 0 8 1 
1 7 1 
1 2 1 
2 9 0 9 1 
2 2 0 2 1 
2 8 0 8 1 
1 12 0 
1 13 0 
2 14 1 10 0 
2 15 1 8 0 
2 16 1 9 0 
2 2 1 2 0 

result:

ok ok

Test #13:

score: 0
Accepted
time: 0ms
memory: 3900kb

input:

92 99

output:

14
1 3 1 
0 
2 4 0 10 1 
1 5 1 
1 6 1 
1 7 1 
2 8 0 9 1 
2 2 0 2 1 
2 2 0 2 1 
1 11 0 
1 12 0 
1 13 0 
2 14 1 9 0 
2 2 1 2 0 

result:

ok ok

Test #14:

score: 0
Accepted
time: 0ms
memory: 3860kb

input:

27 36

output:

13
2 3 1 9 1 
0 
1 4 1 
2 5 0 7 1 
1 6 1 
1 2 1 
2 8 0 8 1 
2 2 0 2 1 
1 10 0 
1 11 0 
2 12 1 7 0 
1 13 0 
1 2 0 

result:

ok ok

Test #15:

score: 0
Accepted
time: 0ms
memory: 3788kb

input:

55 84

output:

17
2 3 1 11 1 
0 
1 4 1 
2 5 0 8 1 
1 6 1 
1 7 1 
1 2 1 
2 9 0 9 1 
2 10 0 10 1 
2 2 0 2 1 
1 12 0 
2 13 1 17 0 
1 14 0 
2 15 1 9 0 
1 16 0 
1 2 0 
2 8 0 8 1 

result:

ok ok

Test #16:

score: 0
Accepted
time: 0ms
memory: 3868kb

input:

297208 929600

output:

57
2 3 1 38 1 
0 
2 4 0 37 1 
2 5 0 35 1 
1 6 1 
2 7 0 34 1 
2 8 0 33 1 
2 9 0 31 1 
1 10 1 
2 11 0 30 1 
2 12 0 29 1 
2 13 0 23 1 
1 14 1 
1 15 1 
1 16 1 
1 17 1 
1 18 1 
2 19 0 22 1 
2 20 0 21 1 
2 2 0 2 1 
2 2 0 2 1 
2 21 0 21 1 
2 24 0 24 1 
2 25 0 25 1 
2 26 0 26 1 
2 27 0 27 1 
2 28 0 28 1 
2 ...

result:

ok ok

Test #17:

score: 0
Accepted
time: 0ms
memory: 3880kb

input:

45728 589156

output:

54
5 3 1 32 1 52 1 53 1 54 1 
0 
2 4 0 29 1 
1 5 1 
1 6 1 
2 7 0 28 1 
2 8 0 26 1 
1 9 1 
2 10 0 24 1 
1 11 1 
2 12 0 22 1 
1 13 1 
2 14 0 21 1 
2 15 0 20 1 
2 16 0 19 1 
2 17 0 18 1 
2 2 0 2 1 
2 2 0 2 1 
2 18 0 18 1 
2 19 0 19 1 
2 20 0 20 1 
2 23 0 23 1 
2 21 0 21 1 
2 25 0 25 1 
2 22 0 22 1 
2 2...

result:

ok ok

Test #18:

score: 0
Accepted
time: 0ms
memory: 3820kb

input:

129152 138000

output:

47
2 3 1 29 1 
0 
1 4 1 
1 5 1 
1 6 1 
1 7 1 
1 8 1 
2 9 0 28 1 
2 10 0 27 1 
2 11 0 25 1 
1 12 1 
2 13 0 24 1 
2 14 0 23 1 
2 15 0 22 1 
2 16 0 21 1 
2 17 0 20 1 
2 18 0 19 1 
2 2 0 2 1 
2 2 0 2 1 
2 19 0 19 1 
2 20 0 20 1 
2 21 0 21 1 
2 22 0 22 1 
2 23 0 23 1 
2 26 0 26 1 
2 24 0 24 1 
2 25 0 25 ...

result:

ok ok

Test #19:

score: 0
Accepted
time: 0ms
memory: 3880kb

input:

245280 654141

output:

56
3 3 1 34 1 55 1 
0 
1 4 1 
1 5 1 
2 6 0 28 1 
1 7 1 
1 8 1 
1 9 1 
1 10 1 
1 11 1 
2 12 0 27 1 
2 13 0 26 1 
2 14 0 24 1 
1 15 1 
2 16 0 23 1 
2 17 0 22 1 
2 18 0 21 1 
2 19 0 20 1 
2 2 0 2 1 
2 2 0 2 1 
2 20 0 20 1 
2 21 0 21 1 
2 22 0 22 1 
2 25 0 25 1 
2 23 0 23 1 
2 24 0 24 1 
2 26 0 26 1 
2 ...

result:

ok ok

Test #20:

score: 0
Accepted
time: 0ms
memory: 3880kb

input:

202985 296000

output:

52
2 3 1 35 1 
0 
1 4 1 
2 5 0 34 1 
2 6 0 33 1 
2 7 0 30 1 
1 8 1 
1 9 1 
2 10 0 29 1 
2 11 0 28 1 
2 12 0 24 1 
1 13 1 
1 14 1 
1 15 1 
2 16 0 22 1 
1 17 1 
2 18 0 21 1 
2 19 0 20 1 
1 2 1 
2 2 0 2 1 
2 20 0 20 1 
2 23 0 23 1 
2 21 0 21 1 
2 25 0 25 1 
2 26 0 26 1 
2 27 0 27 1 
2 22 0 22 1 
2 24 0...

result:

ok ok

Test #21:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

438671 951305

output:

57
2 3 1 37 1 
0 
1 4 1 
2 5 0 35 1 
1 6 1 
2 7 0 32 1 
1 8 1 
1 9 1 
2 10 0 31 1 
2 11 0 30 1 
2 12 0 27 1 
1 13 1 
1 14 1 
2 15 0 26 1 
2 16 0 25 1 
2 17 0 21 1 
1 18 1 
1 19 1 
1 20 1 
1 2 1 
2 22 0 22 1 
2 23 0 23 1 
2 24 0 24 1 
2 2 0 2 1 
2 21 0 21 1 
2 25 0 25 1 
2 28 0 28 1 
2 29 0 29 1 
2 2...

result:

ok ok

Test #22:

score: 0
Accepted
time: 0ms
memory: 3896kb

input:

425249 739633

output:

56
2 3 1 37 1 
0 
1 4 1 
2 5 0 36 1 
2 6 0 30 1 
1 7 1 
1 8 1 
1 9 1 
1 10 1 
1 11 1 
2 12 0 28 1 
1 13 1 
2 14 0 27 1 
2 15 0 25 1 
1 16 1 
2 17 0 24 1 
2 18 0 23 1 
2 19 0 22 1 
2 20 0 21 1 
1 2 1 
2 2 0 2 1 
2 21 0 21 1 
2 22 0 22 1 
2 23 0 23 1 
2 26 0 26 1 
2 24 0 24 1 
2 25 0 25 1 
2 29 0 29 1...

result:

ok ok

Test #23:

score: 0
Accepted
time: 0ms
memory: 3892kb

input:

551207 961718

output:

56
1 3 1 
0 
2 4 0 39 1 
2 5 0 38 1 
2 6 0 37 1 
2 7 0 34 1 
1 8 1 
1 9 1 
2 10 0 32 1 
1 11 1 
2 12 0 31 1 
2 13 0 29 1 
1 14 1 
2 15 0 28 1 
2 16 0 26 1 
1 17 1 
2 18 0 25 1 
2 19 0 22 1 
1 20 1 
1 21 1 
1 2 1 
2 23 0 23 1 
2 24 0 24 1 
2 2 0 2 1 
2 22 0 22 1 
2 27 0 27 1 
2 25 0 25 1 
2 26 0 26 1...

result:

ok ok

Test #24:

score: 0
Accepted
time: 0ms
memory: 3836kb

input:

114691 598186

output:

55
4 3 1 32 1 54 1 55 1 
0 
1 4 1 
1 5 1 
2 6 0 31 1 
2 7 0 30 1 
2 8 0 29 1 
2 9 0 28 1 
2 10 0 27 1 
2 11 0 26 1 
2 12 0 25 1 
2 13 0 24 1 
2 14 0 23 1 
2 15 0 22 1 
2 16 0 21 1 
2 17 0 19 1 
1 18 1 
1 2 1 
2 20 0 20 1 
2 2 0 2 1 
2 19 0 19 1 
2 21 0 21 1 
2 22 0 22 1 
2 23 0 23 1 
2 24 0 24 1 
2 ...

result:

ok ok

Test #25:

score: 0
Accepted
time: 0ms
memory: 3864kb

input:

234654 253129

output:

46
1 3 1 
0 
1 4 1 
1 5 1 
2 6 0 33 1 
2 7 0 31 1 
1 8 1 
2 9 0 29 1 
1 10 1 
2 11 0 28 1 
2 12 0 26 1 
1 13 1 
2 14 0 25 1 
2 15 0 20 1 
1 16 1 
1 17 1 
1 18 1 
1 19 1 
2 2 0 2 1 
2 21 0 21 1 
2 22 0 22 1 
2 23 0 23 1 
2 24 0 24 1 
2 2 0 2 1 
2 20 0 20 1 
2 27 0 27 1 
2 25 0 25 1 
2 26 0 26 1 
2 30...

result:

ok ok

Test #26:

score: 0
Accepted
time: 0ms
memory: 3940kb

input:

554090 608599

output:

52
1 3 1 
0 
1 4 0 
1 5 0 
2 6 0 37 1 
2 7 0 33 1 
1 8 1 
1 9 1 
1 10 1 
2 11 0 31 1 
1 12 1 
2 13 0 30 1 
2 14 0 29 1 
2 15 0 26 1 
1 16 1 
1 17 1 
2 18 0 24 1 
1 19 1 
2 20 0 22 1 
1 21 1 
2 2 0 2 1 
2 23 0 23 1 
2 2 0 2 1 
2 25 0 25 1 
2 22 0 22 1 
2 27 0 27 1 
2 28 0 28 1 
2 24 0 24 1 
2 26 0 26...

result:

ok ok

Extra Test:

score: 0
Extra Test Passed