QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#307805 | #8018. 染色 | cyb1010 | 50 | 75ms | 5840kb | C++14 | 1.6kb | 2024-01-19 09:45:37 | 2024-01-19 09:45:38 |
Judging History
answer
/**
* @author : cyb1010
* @date : 2024-01-19 08:22:06
* @file : set.cpp
*/
#include <bits/stdc++.h>
using namespace std;
#define fo(s) freopen(s ".in", "r", stdin), freopen(s ".out", "w", stdout)
#define fi first
#define se second
typedef double db;
typedef long double ldb;
typedef long long ll;
typedef unsigned long long ull;
typedef bitset<2048> BS;
int __, n, l, cnt;
BS B[11][2048], tot, a[2048], ans[2048];
void perf(int p, int q, BS *x, BS *y) {
for (int i = 0; i < l; i++)
y[(i + p) & (l - 1)] ^= ((x[i] << q) | (x[i] >> (l - q)));
for (int i = 0; i < l; i++) y[i] &= tot;
}
int main() {
// fo("set");
cin.tie(0)->sync_with_stdio(0);
cin >> n, l = 1 << n, B[0][0].set(0);
for (int i = 0; i < l; i++) tot.set(i);
for (int i = 1; i < n; i++) {
perf(0, 0, B[i - 1], B[i]);
perf(1 << i - 1, 0, B[i - 1], B[i]);
perf(l - (1 << i - 1), 0, B[i - 1], B[i]);
perf(0, 1 << i - 1, B[i - 1], B[i]);
perf(0, l - (1 << i - 1), B[i - 1], B[i]);
}
for (int i = 0, x; i < l; i++)
for (int j = 0; j < l; j++)
cin >> x, (x && (perf(i, j, B[n - 1], ans), 1));
// for (int _ = 0; _ < n; _++)
// for (int i = 0, x; i < l; i++)
// for (int j = 0; j < l; j++) cerr << B[_][i][j] << " \n"[j == l - 1];
for (int i = 0; i < l; i++) cnt += ans[i].count();
cout << cnt << endl;
for (int i = 0; i < l; i++)
for (auto j = ans[i]._Find_first(); j < l; j = ans[i]._Find_next(j))
cout << i << " " << j << "\n";
return 0 ^ __ ^ 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 5
Accepted
time: 1ms
memory: 5656kb
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: 0ms
memory: 3612kb
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: 5652kb
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: 0ms
memory: 5660kb
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: 5668kb
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: 3568kb
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: 5600kb
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: 74ms
memory: 3884kb
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: 75ms
memory: 5840kb
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: 70ms
memory: 4088kb
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: 0
Time Limit Exceeded
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:
result:
Test #12:
score: 0
Time Limit Exceeded
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:
result:
Test #13:
score: 0
Time Limit Exceeded
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:
result:
Test #14:
score: 0
Time Limit Exceeded
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:
result:
Test #15:
score: 0
Time Limit Exceeded
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:
result:
Test #16:
score: 0
Time Limit Exceeded
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:
result:
Test #17:
score: 0
Time Limit Exceeded
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:
result:
Test #18:
score: 0
Time Limit Exceeded
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:
result:
Test #19:
score: 0
Time Limit Exceeded
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:
result:
Test #20:
score: 0
Time Limit Exceeded
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...