QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#308013#8018. 染色Doqe100 ✓161ms55788kbC++141.9kb2024-01-19 13:16:382024-01-19 13:16:39

Judging History

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

  • [2024-01-19 13:16:39]
  • 评测
  • 测评结果:100
  • 用时:161ms
  • 内存:55788kb
  • [2024-01-19 13:16:38]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N=2048;
int n;int tt=0;
bitset<N>F[N],b[N];
int G[N][N];
bitset<N>c[N];
vector<pair<int,int>>to;
char buf[1<<25],*p1=buf,*p2=buf,obuf[1<<27],*O=obuf;
#define getchar() (*p1++)
inline int rd() {
	int x=0;char ch=getchar();
	while(!isdigit(ch)){ch=getchar();}
	while(isdigit(ch)) x=x*10+(ch^48),ch=getchar();
	return x;
}
inline void print(int x) {
    if(x>9) print(x/10);
    *O++=x%10+'0';
}
int main()
{
    fread(buf,1,1<<24,stdin);
    n=rd();n=1<<n;
    for(int i=0;i<n;++i)
        for(int j=0;j<n;++j)
        {
            b[i][j]=rd();
        }
    F[1][1]=1;
    for(int u=4;u<=n;u<<=1)
    {
        for(int i=0;i<u;++i)
            for(int j=0;j<u;++j)
                G[i][j]=0;
        for(int i=0;i<u/2;++i)
            for(int j=0;j<u/2;++j)
                G[i+u/4][j]^=F[i][j],
                G[i+u/4][j+u/4]^=F[i][j],
                G[i][j+u/4]^=F[i][j],
                G[i+u/2][j+u/4]^=F[i][j],
                G[i+u/4][j+u/2]^=F[i][j];
        int C=0;
        for(int i=0;i<u;++i)
            for(int j=0;j<u;++j)
                F[i][j]=G[i][j];
    }
    int C=0;
    for(int i=0;i<n;++i)
        for(int j=0;j<n;++j)
            if(F[i][j])to.emplace_back(i-n/2+n&n-1,j-n/2+n&n-1);
    for(int i=1;i<n-1;++i)
    {
        for(int j=0;j<n;++j)
            if(b[i-1][j])c[i].flip(j),b[i].flip(j),b[i-1].flip(j),b[i].flip(j+n-1&n-1),b[i].flip(j+1&n-1),b[i+1].flip(j);
    }
    for(auto k:to)
    {
        c[n-2+k.first&n-1]^=(b[n-2]<<k.second)|(b[n-2]>>n-k.second);
        c[n-1+k.first&n-1]^=(b[n-1]<<k.second)|(b[n-1]>>n-k.second);
    }
    for(int i=0;i<n;++i)
        for(int j=0;j<n;++j)
            C+=c[i][j];
    print(C),*O++='\n';
    for(int i=0;i<n;++i)
        for(int j=0;j<n;++j)
            if(c[i][j])
                print(i),*O++=' ',print(j),*O++='\n';
    fwrite(obuf,O-obuf,1,stdout);
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 5
Accepted
time: 0ms
memory: 7620kb

input:

2
0 0 1 1
1 0 1 0
0 0 0 0
1 1 1 0

output:

7
0 0
1 0
1 3
2 1
3 1
3 2
3 3

result:

ok n=4

Test #2:

score: 5
Accepted
time: 1ms
memory: 7704kb

input:

2
0 0 0 1
1 0 0 0
1 1 0 1
1 0 1 1

output:

8
0 0
1 3
2 0
2 2
2 3
3 0
3 1
3 3

result:

ok n=4

Test #3:

score: 5
Accepted
time: 1ms
memory: 7768kb

input:

2
1 1 1 0
0 1 0 0
1 0 1 0
0 1 0 1

output:

8
0 1
0 3
1 0
1 2
2 0
2 2
2 3
3 3

result:

ok n=4

Test #4:

score: 5
Accepted
time: 1ms
memory: 7624kb

input:

2
1 0 1 1
1 0 1 0
0 1 1 0
1 1 1 0

output:

10
0 1
0 3
1 1
1 2
1 3
2 0
2 1
2 3
3 0
3 3

result:

ok n=4

Test #5:

score: 5
Accepted
time: 1ms
memory: 7708kb

input:

4
0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 1
0 1 1 0 1 0 0 1 0 1 1 1 1 0 1 0
1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0
1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1
0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0
0 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0
1 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0
1 1 1 1 0 1 1 1 0 1 1 0 0 0 1 1
0 0 0 0 1 1 1 0 1 1 0 1 1 0 0 1
0 0 1 0 1 ...

output:

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

result:

ok n=16

Test #6:

score: 5
Accepted
time: 1ms
memory: 9704kb

input:

4
1 0 0 0 1 0 1 0 0 1 0 0 1 1 1 1
1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 1
1 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0
1 0 1 0 0 1 1 0 1 1 1 1 1 0 1 1
1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0
1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0
0 0 1 1 0 0 1 1 1 0 1 0 0 0 1 0
1 0 1 1 0 1 1 0 0 0 0 1 1 0 0 1
1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0
1 0 0 0 0 ...

output:

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

result:

ok n=16

Test #7:

score: 5
Accepted
time: 1ms
memory: 9756kb

input:

4
1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1
1 0 1 0 1 1 1 0 1 0 1 0 1 1 0 0
1 0 0 0 0 1 0 1 0 1 0 1 1 1 0 1
1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1
0 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0
0 0 0 1 0 1 1 0 0 0 1 0 1 1 1 1
0 1 0 0 1 0 0 0 1 1 0 0 1 1 1 1
1 1 0 1 1 1 0 1 1 0 1 0 0 1 0 0
1 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0
1 1 1 1 0 ...

output:

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

result:

ok n=16

Test #8:

score: 5
Accepted
time: 2ms
memory: 9912kb

input:

7
1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0
1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 ...

output:

8269
0 1
0 3
0 4
0 6
0 8
0 9
0 10
0 12
0 14
0 15
0 16
0 17
0 18
0 20
0 21
0 22
0 27
0 28
0 33
0 35
0 37
0 38
0 39
0 41
0 42
0 47
0 48
0 50
0 53
0 56
0 57
0 58
0 71
0 72
0 76
0 78
0 79
0 80
0 81
0 82
0 83
0 86
0 89
0 92
0 93
0 94
0 98
0 99
0 100
0 102
0 106
0 108
0 110
0 117
0 119
0 120
0 121
0 123
0...

result:

ok n=128

Test #9:

score: 5
Accepted
time: 2ms
memory: 9972kb

input:

7
1 1 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1
1 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 ...

output:

8192
0 0
0 5
0 6
0 7
0 8
0 9
0 11
0 12
0 13
0 15
0 16
0 20
0 24
0 28
0 29
0 30
0 31
0 32
0 35
0 36
0 37
0 39
0 45
0 48
0 51
0 52
0 55
0 56
0 57
0 62
0 64
0 65
0 68
0 70
0 75
0 76
0 77
0 78
0 80
0 81
0 82
0 84
0 85
0 86
0 88
0 89
0 94
0 97
0 103
0 104
0 105
0 106
0 107
0 109
0 112
0 113
0 114
0 115
0...

result:

ok n=128

Test #10:

score: 5
Accepted
time: 1ms
memory: 7784kb

input:

7
1 0 1 1 1 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1
1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0 0 0 ...

output:

8280
0 0
0 1
0 3
0 4
0 6
0 9
0 11
0 14
0 20
0 21
0 23
0 24
0 25
0 26
0 28
0 29
0 31
0 34
0 38
0 40
0 45
0 52
0 53
0 54
0 55
0 56
0 60
0 61
0 64
0 65
0 66
0 69
0 70
0 71
0 72
0 74
0 75
0 78
0 80
0 81
0 89
0 90
0 92
0 94
0 95
0 97
0 98
0 100
0 102
0 106
0 113
0 114
0 119
0 120
0 121
0 122
0 125
0 126
...

result:

ok n=128

Test #11:

score: 5
Accepted
time: 161ms
memory: 55356kb

input:

11
1 1 0 1 1 1 1 0 0 1 0 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1...

output:

2099200
0 1
0 3
0 4
0 5
0 6
0 7
0 8
0 11
0 16
0 19
0 21
0 27
0 29
0 30
0 31
0 34
0 35
0 38
0 40
0 41
0 42
0 46
0 47
0 53
0 59
0 61
0 62
0 63
0 64
0 65
0 67
0 68
0 73
0 83
0 84
0 86
0 87
0 89
0 92
0 94
0 95
0 99
0 100
0 101
0 103
0 108
0 109
0 110
0 113
0 115
0 117
0 118
0 119
0 124
0 127
0 129
0 131...

result:

ok n=2048

Test #12:

score: 5
Accepted
time: 158ms
memory: 55412kb

input:

11
1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 0 0 1 0 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 1 1...

output:

2114816
0 1
0 2
0 4
0 8
0 12
0 13
0 14
0 16
0 18
0 23
0 24
0 27
0 29
0 33
0 37
0 38
0 42
0 43
0 45
0 46
0 47
0 48
0 49
0 50
0 51
0 54
0 56
0 57
0 58
0 63
0 65
0 68
0 69
0 70
0 71
0 73
0 75
0 80
0 81
0 82
0 85
0 92
0 93
0 94
0 97
0 98
0 102
0 104
0 105
0 107
0 111
0 112
0 113
0 116
0 117
0 119
0 121
...

result:

ok n=2048

Test #13:

score: 5
Accepted
time: 153ms
memory: 55352kb

input:

11
1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0...

output:

2094848
0 1
0 2
0 3
0 7
0 10
0 11
0 13
0 14
0 17
0 18
0 19
0 20
0 23
0 24
0 26
0 27
0 28
0 31
0 33
0 34
0 35
0 38
0 39
0 41
0 43
0 44
0 45
0 47
0 51
0 53
0 59
0 60
0 61
0 66
0 68
0 69
0 73
0 74
0 75
0 79
0 81
0 84
0 86
0 88
0 90
0 92
0 93
0 94
0 96
0 99
0 100
0 101
0 102
0 104
0 105
0 108
0 110
0 11...

result:

ok n=2048

Test #14:

score: 5
Accepted
time: 161ms
memory: 55272kb

input:

11
1 1 0 1 1 1 0 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 1...

output:

2131968
0 3
0 6
0 8
0 10
0 11
0 12
0 13
0 14
0 18
0 19
0 21
0 22
0 24
0 26
0 28
0 30
0 33
0 34
0 37
0 39
0 40
0 41
0 42
0 43
0 44
0 46
0 47
0 48
0 50
0 56
0 57
0 58
0 59
0 60
0 62
0 64
0 69
0 71
0 73
0 75
0 76
0 77
0 78
0 79
0 81
0 85
0 91
0 92
0 95
0 96
0 97
0 98
0 99
0 100
0 102
0 104
0 105
0 108
...

result:

ok n=2048

Test #15:

score: 5
Accepted
time: 156ms
memory: 55256kb

input:

11
1 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 1 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 0...

output:

2099200
0 0
0 1
0 3
0 5
0 6
0 8
0 9
0 11
0 15
0 19
0 20
0 21
0 23
0 24
0 25
0 27
0 28
0 29
0 30
0 31
0 32
0 36
0 38
0 39
0 40
0 42
0 46
0 48
0 49
0 51
0 52
0 55
0 57
0 59
0 61
0 62
0 64
0 65
0 66
0 67
0 68
0 69
0 71
0 73
0 74
0 77
0 78
0 79
0 80
0 85
0 92
0 93
0 94
0 95
0 96
0 99
0 101
0 102
0 105
0...

result:

ok n=2048

Test #16:

score: 5
Accepted
time: 150ms
memory: 55404kb

input:

11
1 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1 1...

output:

2112256
0 0
0 1
0 5
0 6
0 8
0 9
0 12
0 13
0 15
0 20
0 21
0 23
0 25
0 28
0 29
0 30
0 32
0 35
0 36
0 37
0 39
0 40
0 41
0 42
0 43
0 45
0 46
0 48
0 54
0 56
0 57
0 60
0 62
0 63
0 64
0 65
0 66
0 68
0 73
0 74
0 75
0 78
0 79
0 87
0 88
0 90
0 91
0 93
0 96
0 100
0 101
0 102
0 103
0 107
0 111
0 112
0 114
0 116...

result:

ok n=2048

Test #17:

score: 5
Accepted
time: 149ms
memory: 55332kb

input:

11
0 1 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 1 1 0 1 0 0 1 0 0 0...

output:

2092288
0 2
0 3
0 8
0 9
0 10
0 12
0 13
0 14
0 16
0 17
0 20
0 21
0 22
0 27
0 29
0 30
0 32
0 34
0 35
0 37
0 39
0 42
0 45
0 46
0 47
0 49
0 51
0 58
0 62
0 63
0 64
0 71
0 73
0 74
0 76
0 79
0 81
0 83
0 84
0 85
0 89
0 90
0 91
0 95
0 96
0 97
0 99
0 100
0 101
0 109
0 111
0 113
0 114
0 115
0 119
0 121
0 124
0...

result:

ok n=2048

Test #18:

score: 5
Accepted
time: 161ms
memory: 55788kb

input:

11
0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1...

output:

2081792
0 2
0 7
0 8
0 9
0 11
0 14
0 15
0 18
0 19
0 20
0 21
0 22
0 24
0 25
0 27
0 28
0 29
0 30
0 32
0 35
0 36
0 42
0 43
0 44
0 45
0 46
0 48
0 49
0 53
0 54
0 55
0 57
0 59
0 60
0 61
0 64
0 65
0 67
0 68
0 71
0 72
0 73
0 74
0 76
0 77
0 78
0 79
0 81
0 83
0 84
0 85
0 89
0 90
0 94
0 95
0 96
0 97
0 99
0 102
...

result:

ok n=2048

Test #19:

score: 5
Accepted
time: 160ms
memory: 55336kb

input:

11
1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 0...

output:

2088960
0 0
0 1
0 2
0 4
0 5
0 7
0 8
0 10
0 12
0 14
0 15
0 16
0 19
0 25
0 26
0 29
0 30
0 32
0 33
0 39
0 40
0 42
0 43
0 44
0 45
0 46
0 47
0 49
0 51
0 53
0 56
0 57
0 58
0 60
0 62
0 63
0 65
0 66
0 67
0 69
0 70
0 72
0 73
0 74
0 75
0 78
0 80
0 82
0 86
0 88
0 89
0 91
0 92
0 93
0 96
0 99
0 100
0 102
0 103
0...

result:

ok n=2048

Test #20:

score: 5
Accepted
time: 159ms
memory: 55316kb

input:

11
0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 0 1 1 0...

output:

2093568
0 0
0 3
0 5
0 6
0 7
0 8
0 9
0 10
0 12
0 16
0 18
0 22
0 24
0 25
0 27
0 31
0 32
0 35
0 37
0 38
0 44
0 47
0 50
0 51
0 52
0 53
0 58
0 59
0 62
0 65
0 67
0 68
0 69
0 71
0 73
0 75
0 79
0 81
0 82
0 83
0 84
0 86
0 91
0 92
0 95
0 97
0 102
0 105
0 106
0 109
0 110
0 111
0 112
0 113
0 118
0 119
0 123
0 1...

result:

ok n=2048