QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#101889 | #6380. LaLa and Divination Magic | 123456 | AC ✓ | 1383ms | 497888kb | C++23 | 7.2kb | 2023-05-01 16:51:05 | 2023-05-01 16:51:14 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pi = pair<int, int>;
#define mp make_pair
#define f first
#define s second
#define tcT template<class T
tcT> using V = vector<T>;
using vi = V<int>;
using vpi = V<pi>;
using vb = V<bool>;
#define sz(x) int((x).size())
#define all(x) begin(x), end(x)
#define pb push_back
#define rsz resize
#define bk back()
#define each(a, x) for(auto& a: x)
#define FOR(i,a,b) for(int i = (a); i < (b); ++i)
#define F0R(i,a) FOR(i,0,a)
// const int MOD = 1e9+7;
tcT> bool ckmin(T& a, const T& b){
return b < a ? a = b, 1 : 0;
}
tcT> bool ckmax(T& a, const T& b){
return a < b ? a = b, 1 : 0;
}
const int mx = 2005;
bool ansInTrie(vb ans){
return true;
}
struct TwoSAT{
int N = 0; vpi edges;
void init(int _N) { N = _N;}
int addVar() { return N++; }
void either(int x, int y){
x = max(2*x, -1-2*x), y = max(2*y, -1-2*y);
edges.emplace_back(x, y);
}
vpi generateEdges(){
vpi res;
each(e, edges){
//e.f^1, e.s
res.pb(mp(e.f^1, e.s));
//e.s^1, e.f
res.pb(mp(e.s^1, e.f));
}
edges.clear();
edges.pb(mp(-1, -1)); //DON'T USE THIS
return res;
}
};
using ull = unsigned long long;
struct bit {
vector<ull> data;
void init(int n) {
data.resize((n >> 6) + 1);
}
void setOne(int i) {
data[i >> 6] |= (ull)1 << (i & 63);
}
int count() {
int res = 0;
for (int i = 0; i < sz(data); i++) {
res += __builtin_popcountll(data[i]);
}
return res;
}
int get(int i) {
return (data[i >> 6] >> (i & 63)) & 1;
}
};
void operator |= (bit &a, const bit &b) {
for (int i = 0; i < sz(a.data); i++) {
a.data[i] |= b.data[i];
}
}
bool andEmpty(const bit &a, const bit &b) {
for (int i = 0; i < sz(a.data); i++) {
if (a.data[i] & b.data[i]) {
return false;
}
}
return true;
}
bit operator &(const bit &a, const bit &b) {
bit c;
c.data.resize(sz(a.data));
for (int i = 0; i < sz(a.data); i++) {
c.data[i] = a.data[i] & b.data[i];
}
return c;
}
bit operator ~(const bit &a) {
bit c;
c.data.resize(sz(a.data));
for (int i = 0; i < sz(a.data); i++) {
c.data[i] = ~a.data[i];
}
return c;
}
bool S[mx][mx];
bit columns[mx];
bit not_columns[mx];
int nxt[mx * mx][2];
int uk = 0;
int leaves[mx * mx];
void add(int i, int M) {
int cur = 0;
vector<int> d;
for (int j = 0; j < M; j++) {
d.pb(cur);
if (nxt[cur][S[i][j]]) {
cur = nxt[cur][S[i][j]];
} else {
uk++;
nxt[cur][S[i][j]] = uk;
cur = uk;
}
}
for (auto x: d) {
leaves[x]++;
}
}
void dfs(int i, vector<bit> &bl, int u = 0) {
if (!nxt[i][0] && !nxt[i][1]) {
return;
}
if (!nxt[i][0] || !nxt[i][1]) {
int t = (nxt[i][0] ? 0: 1);
if (!bl[u * 2].get(u * 2 + 1) && !bl[u * 2 + 1].get(u * 2)) {
cout << -1 << '\n';
exit(0);
}
dfs(nxt[i][t], bl, u + 1);
return;
}
int t = 0, t1 = 1;
int lu = u * 2, ru = u * 2 + 1;
if (leaves[nxt[i][t]] > leaves[nxt[i][t1]]) {
swap(t, t1);
swap(lu, ru);
}
auto bl1 = bl;
for (int i = 0; i < sz(bl1); i++) {
if (bl1[i].get(lu) && !bl1[i].get(ru)) {
bl1[i] |= bl1[ru];
}
}
dfs(nxt[i][t], bl1, u + 1);
bl1.clear();
bl1.shrink_to_fit();
swap(lu, ru);
for (int i = 0; i < sz(bl); i++) {
if (bl[i].get(lu) && !bl[i].get(ru)) {
bl[i] |= bl[ru];
}
}
dfs(nxt[i][t1], bl, u + 1);
}
//BEGIN RICHARD CODE
struct SCC{
int N, ti = 0; V<vi> adj;
vi disc, comp, stk, comps;
void init(int _N){
N = _N, adj.rsz(N), disc.rsz(N), comp.rsz(N, -1);
}
void ae(int x, int y){
// cout << "N = " << N << "\n";
// cout << "ADDING: " << x << " " << y << "\n"; cout.flush();
adj[x].pb(y);
}
int dfs(int x){
// cout << "HI" << x << "\n"; cout.flush();
int low = disc[x] = ++ti; stk.pb(x);
each(y, adj[x]) if(comp[y] == -1)
ckmin(low, disc[y]?:dfs(y));
// cout << "HERE!" << "\n";
if(low == disc[x]){
// cout << "HERE2!" << "\n";
comps.pb(x); for(int y = -1; y != x;)
comp[y = stk.bk] = x, stk.pop_back();
}
// cout << "HERE3!" << "\n";
return low;
}
void gen(){
F0R(i,N) if(!disc[i]) dfs(i);
reverse(all(comps));
// cout << "END" << "\n"; cout.flush();
}
};
vector<bit> DP;
vector<bit> getReachability(vpi edges, int N){
SCC scc; scc.init(2*N);
for(auto u: edges){
scc.ae(u.f, u.s);
}
scc.gen();
V<vi> comp_adj(2*N);
for(auto u: edges){
comp_adj[scc.comp[u.f]].pb(scc.comp[u.s]);
}
DP = vector<bit>(2*N);
for(int i = 0; i < 2*N; i++){
DP[i].init(2 * N);
}
for(int i = 0; i < 2*N; i++){
DP[scc.comp[i]].setOne(i);
}
for(int comps_ind = sz(scc.comps)-1; comps_ind >= 0; comps_ind--){
int comp = scc.comps[comps_ind];
if (comp_adj[comp].empty()) {
continue;
}
sort(all(comp_adj[comp]));
comp_adj[comp].resize(distance(comp_adj[comp].begin(), unique(all(comp_adj[comp]))));
for(auto u: comp_adj[comp]){
if(comp == u) continue;
DP[comp]|=DP[u];
}
}
for(int i = 0; i < 2*N; i++){
if(scc.comp[i] != i){
DP[i] |= DP[scc.comp[i]];
}
}
return DP;
}
int main(){
cin.tie(0)->sync_with_stdio(0);
int N, M; cin >> N >> M;
for(int i = 0; i < N; i++){
string row; cin >> row;
for(int j = 0; j < M; j++){
S[i][j] = row[j]-'0';
}
add(i, M);
}
for(int j = 0; j < M; j++){
columns[j].init(N);
not_columns[j].init(N);
}
for(int i = 0; i < N; i++){
for(int j = 0; j < M; j++){
if (S[i][j]) {
columns[j].setOne(i);
}
}
}
bit MASK;
MASK.init(N);
for(int i = 0; i < N; i++){
MASK.setOne(i);
}
for(int j = 0; j < M; j++){
not_columns[j] = ~columns[j]&MASK;
}
V<vi> ans;
TwoSAT twosat; twosat.init(M);
// for(int col = 0; col < M; col++){
// string str;
// for(int i = 0; i < N; i++){
// str+=char('0' + columns[col][i]);
// }
// cout << "col: " << col <<": "<< str << "\n";
// }
for(int j = 0; j < M; j++){
//check whether the entire column is 1, or all 0
if(columns[j].count() == N){ //1 is salvation
ans.pb(vi{j, j, 4});
twosat.either(j, j);
}
else if(columns[j].count() == 0){
ans.pb(vi{j, j, 1});
twosat.either(~j, ~j);
}
for(int j2 = j+1; j2 < M; j2++){
//check whether 00 appears
if(andEmpty(not_columns[j], not_columns[j2])){
//does not appear
ans.pb(vi{j, j2, 4});
twosat.either(j, j2);
}
//check 01
if(andEmpty(not_columns[j], columns[j2])){
//does not appear
ans.pb(vi{j, j2, 2});
twosat.either(j, ~j2);
}
//check 10
if(andEmpty(columns[j], not_columns[j2])){
//does not appearn
ans.pb(vi{j, j2, 3});
twosat.either(~j, j2);
}
//check 11
if(andEmpty(columns[j], columns[j2])){
//does not appear
ans.pb(vi{j, j2, 1});
twosat.either(~j, ~j2);
}
}
}
vpi edges = twosat.generateEdges();
vector<bit> bl = getReachability(edges, M);
// vector<bit> bl(2 * N);
// for (int i = 0; i < 2 * N; i++) {
// bl[i][i] = true;
// }
dfs(0, bl);
string OUTPUT = "";
OUTPUT += to_string(sz(ans)) + "\n";
for(auto u: ans){
OUTPUT+=to_string(u[0]) + " " + to_string(u[1]) + " " + to_string(u[2]) + "\n";
}
cout << OUTPUT << "\n";
}
详细
Test #1:
score: 100
Accepted
time: 3ms
memory: 7488kb
input:
2 1 1 0
output:
0
result:
ok Kout = 0, Kans = 0
Test #2:
score: 0
Accepted
time: 2ms
memory: 5392kb
input:
3 3 101 011 111
output:
6 0 1 4 0 2 4 0 2 3 1 2 4 1 2 3 2 2 4
result:
ok Kout = 6, Kans = 6
Test #3:
score: 0
Accepted
time: 2ms
memory: 5532kb
input:
2 1 0 1
output:
0
result:
ok Kout = 0, Kans = 0
Test #4:
score: 0
Accepted
time: 2ms
memory: 5460kb
input:
2 1 0 1
output:
0
result:
ok Kout = 0, Kans = 0
Test #5:
score: 0
Accepted
time: 1ms
memory: 5460kb
input:
2 1 1 0
output:
0
result:
ok Kout = 0, Kans = 0
Test #6:
score: 0
Accepted
time: 0ms
memory: 5456kb
input:
2 1 0 1
output:
0
result:
ok Kout = 0, Kans = 0
Test #7:
score: 0
Accepted
time: 0ms
memory: 5436kb
input:
2 1 0 1
output:
0
result:
ok Kout = 0, Kans = 0
Test #8:
score: 0
Accepted
time: 2ms
memory: 5520kb
input:
2 1 1 0
output:
0
result:
ok Kout = 0, Kans = 0
Test #9:
score: 0
Accepted
time: 2ms
memory: 5468kb
input:
1 1 1
output:
1 0 0 4
result:
ok Kout = 1, Kans = 1
Test #10:
score: 0
Accepted
time: 1ms
memory: 5460kb
input:
1 1 0
output:
1 0 0 1
result:
ok Kout = 1, Kans = 1
Test #11:
score: 0
Accepted
time: 1ms
memory: 5436kb
input:
2 1 1 0
output:
0
result:
ok Kout = 0, Kans = 0
Test #12:
score: 0
Accepted
time: 2ms
memory: 5540kb
input:
2 1 1 0
output:
0
result:
ok Kout = 0, Kans = 0
Test #13:
score: 0
Accepted
time: 3ms
memory: 5400kb
input:
2 4 0111 0010
output:
15 0 0 1 0 1 3 0 1 1 0 2 4 0 2 3 0 2 1 0 3 3 0 3 1 1 2 4 1 2 3 1 3 2 1 3 3 2 2 4 2 3 4 2 3 2
result:
ok Kout = 15, Kans = 15
Test #14:
score: 0
Accepted
time: 3ms
memory: 5436kb
input:
2 1 1 0
output:
0
result:
ok Kout = 0, Kans = 0
Test #15:
score: 0
Accepted
time: 3ms
memory: 5488kb
input:
4 2 10 11 01 00
output:
0
result:
ok Kout = 0, Kans = 0
Test #16:
score: 0
Accepted
time: 3ms
memory: 5468kb
input:
2 1 1 0
output:
0
result:
ok Kout = 0, Kans = 0
Test #17:
score: 0
Accepted
time: 2ms
memory: 5496kb
input:
2 4 0010 1000
output:
15 0 1 2 0 1 1 0 2 4 0 2 1 0 3 2 0 3 1 1 1 1 1 2 3 1 2 1 1 3 2 1 3 3 1 3 1 2 3 2 2 3 1 3 3 1
result:
ok Kout = 15, Kans = 15
Test #18:
score: 0
Accepted
time: 1ms
memory: 5396kb
input:
2 5 11101 00000
output:
21 0 1 2 0 1 3 0 2 2 0 2 3 0 3 2 0 3 1 0 4 2 0 4 3 1 2 2 1 2 3 1 3 2 1 3 1 1 4 2 1 4 3 2 3 2 2 3 1 2 4 2 2 4 3 3 3 1 3 4 3 3 4 1
result:
ok Kout = 21, Kans = 21
Test #19:
score: 0
Accepted
time: 2ms
memory: 5464kb
input:
5 4 0010 1001 0011 0101 1011
output:
-1
result:
ok Kout = -1, Kans = -1
Test #20:
score: 0
Accepted
time: 0ms
memory: 5460kb
input:
3 2 01 00 10
output:
1 0 1 1
result:
ok Kout = 1, Kans = 1
Test #21:
score: 0
Accepted
time: 2ms
memory: 5444kb
input:
3 2 10 11 00
output:
1 0 1 2
result:
ok Kout = 1, Kans = 1
Test #22:
score: 0
Accepted
time: 2ms
memory: 5460kb
input:
2 1 0 1
output:
0
result:
ok Kout = 0, Kans = 0
Test #23:
score: 0
Accepted
time: 2ms
memory: 5564kb
input:
3 27 111010110011101010011110110 010001110100000110100101101 000011111000000010011111001
output:
-1
result:
ok Kout = -1, Kans = -1
Test #24:
score: 0
Accepted
time: 2ms
memory: 5472kb
input:
3 7 1000100 0001100 0101111
output:
39 0 1 1 0 2 2 0 2 1 0 3 4 0 3 1 0 4 4 0 4 3 0 5 1 0 6 1 1 2 2 1 2 1 1 3 3 1 4 4 1 4 3 1 5 2 1 5 3 1 6 2 1 6 3 2 2 1 2 3 3 2 3 1 2 4 4 2 4 3 2 4 1 2 5 3 2 5 1 2 6 3 2 6 1 3 4 4 3 4 3 3 5 2 3 6 2 4 4 4 4 5 4 4 5 2 4 6 4 4 6 2 5 6 2 5 6 3
result:
ok Kout = 39, Kans = 39
Test #25:
score: 0
Accepted
time: 1ms
memory: 5480kb
input:
1 19 1010110011001101000
output:
532 0 0 4 0 1 4 0 1 2 0 1 1 0 2 4 0 2 2 0 2 3 0 3 4 0 3 2 0 3 1 0 4 4 0 4 2 0 4 3 0 5 4 0 5 2 0 5 3 0 6 4 0 6 2 0 6 1 0 7 4 0 7 2 0 7 1 0 8 4 0 8 2 0 8 3 0 9 4 0 9 2 0 9 3 0 10 4 0 10 2 0 10 1 0 11 4 0 11 2 0 11 1 0 12 4 0 12 2 0 12 3 0 13 4 0 13 2 0 13 3 0 14 4 0 14 2 0 14 1 0 15 4 0 15 2 0 15 3 0 ...
result:
ok Kout = 532, Kans = 532
Test #26:
score: 0
Accepted
time: 2ms
memory: 5508kb
input:
5 32 10101101001001001101111100100110 00110110010111010101011000011010 01010101110100000110001000010100 11010011000110101101110001011111 00111001110011110000000010000111
output:
-1
result:
ok Kout = -1, Kans = -1
Test #27:
score: 0
Accepted
time: 0ms
memory: 5576kb
input:
3 12 110010101000 110001011000 110101011001
output:
145 0 0 4 0 1 4 0 1 2 0 1 3 0 2 4 0 2 2 0 2 1 0 3 4 0 3 2 0 4 4 0 4 2 0 5 4 0 5 2 0 6 4 0 6 2 0 7 4 0 7 2 0 8 4 0 8 2 0 8 3 0 9 4 0 9 2 0 9 1 0 10 4 0 10 2 0 10 1 0 11 4 0 11 2 1 1 4 1 2 4 1 2 2 1 2 1 1 3 4 1 3 2 1 4 4 1 4 2 1 5 4 1 5 2 1 6 4 1 6 2 1 7 4 1 7 2 1 8 4 1 8 2 1 8 3 1 9 4 1 9 2 1 9 1 1 1...
result:
ok Kout = 145, Kans = 145
Test #28:
score: 0
Accepted
time: 2ms
memory: 5580kb
input:
3 25 1110100100011100101100111 0100000001011101101010101 0111110111111001001110111
output:
-1
result:
ok Kout = -1, Kans = -1
Test #29:
score: 0
Accepted
time: 2ms
memory: 5448kb
input:
1 5 10110
output:
35 0 0 4 0 1 4 0 1 2 0 1 1 0 2 4 0 2 2 0 2 3 0 3 4 0 3 2 0 3 3 0 4 4 0 4 2 0 4 1 1 1 1 1 2 4 1 2 3 1 2 1 1 3 4 1 3 3 1 3 1 1 4 2 1 4 3 1 4 1 2 2 4 2 3 4 2 3 2 2 3 3 2 4 4 2 4 2 2 4 1 3 3 4 3 4 4 3 4 2 3 4 1 4 4 1
result:
ok Kout = 35, Kans = 35
Test #30:
score: 0
Accepted
time: 3ms
memory: 5488kb
input:
5 17 01011100010100110 01001101111011001 00100111001101010 10101000001010110 00101011010010001
output:
-1
result:
ok Kout = -1, Kans = -1
Test #31:
score: 0
Accepted
time: 2ms
memory: 5556kb
input:
3 30 010100010011100011010001010100 011111100101001100010101010010 011000010111111111000101101110
output:
-1
result:
ok Kout = -1, Kans = -1
Test #32:
score: 0
Accepted
time: 0ms
memory: 7584kb
input:
5 30 110010101001001100010110010000 011011111000011001101000100000 110101010111000000100100111000 001111011110101101101001101011 101100001101011110101010110000
output:
-1
result:
ok Kout = -1, Kans = -1
Test #33:
score: 0
Accepted
time: 0ms
memory: 5440kb
input:
10 10 0110101111 1100100000 1000101100 1000010101 1001011101 1011101101 1011111011 0101010000 0111011010 1111010110
output:
-1
result:
ok Kout = -1, Kans = -1
Test #34:
score: 0
Accepted
time: 1ms
memory: 5504kb
input:
9 10 1000001101 0110010110 1011101111 1010001110 1110001000 1001110110 1101010010 0001011111 1000010100
output:
-1
result:
ok Kout = -1, Kans = -1
Test #35:
score: 0
Accepted
time: 0ms
memory: 5404kb
input:
3 5 11111 01000 01100
output:
18 0 1 4 0 1 3 0 2 3 0 3 2 0 3 3 0 4 2 0 4 3 1 1 4 1 2 4 1 2 2 1 3 4 1 3 2 1 4 4 1 4 2 2 3 2 2 4 2 3 4 2 3 4 3
result:
ok Kout = 18, Kans = 18
Test #36:
score: 0
Accepted
time: 2ms
memory: 5456kb
input:
7 9 000010100 101001100 110010111 000000110 100010101 101000100 101101100
output:
-1
result:
ok Kout = -1, Kans = -1
Test #37:
score: 0
Accepted
time: 2ms
memory: 5500kb
input:
1 4 0000
output:
22 0 0 1 0 1 2 0 1 3 0 1 1 0 2 2 0 2 3 0 2 1 0 3 2 0 3 3 0 3 1 1 1 1 1 2 2 1 2 3 1 2 1 1 3 2 1 3 3 1 3 1 2 2 1 2 3 2 2 3 3 2 3 1 3 3 1
result:
ok Kout = 22, Kans = 22
Test #38:
score: 0
Accepted
time: 0ms
memory: 5496kb
input:
9 8 10011110 10111101 11001010 01000101 10110011 00101001 00101100 11010110 01000000
output:
-1
result:
ok Kout = -1, Kans = -1
Test #39:
score: 0
Accepted
time: 2ms
memory: 5508kb
input:
3 10 0000000111 1011011111 0101111010
output:
-1
result:
ok Kout = -1, Kans = -1
Test #40:
score: 0
Accepted
time: 2ms
memory: 5492kb
input:
2 1 1 0
output:
0
result:
ok Kout = 0, Kans = 0
Test #41:
score: 0
Accepted
time: 0ms
memory: 5496kb
input:
1 5 00110
output:
35 0 0 1 0 1 2 0 1 3 0 1 1 0 2 4 0 2 3 0 2 1 0 3 4 0 3 3 0 3 1 0 4 2 0 4 3 0 4 1 1 1 1 1 2 4 1 2 3 1 2 1 1 3 4 1 3 3 1 3 1 1 4 2 1 4 3 1 4 1 2 2 4 2 3 4 2 3 2 2 3 3 2 4 4 2 4 2 2 4 1 3 3 4 3 4 4 3 4 2 3 4 1 4 4 1
result:
ok Kout = 35, Kans = 35
Test #42:
score: 0
Accepted
time: 2ms
memory: 5564kb
input:
6 9 100101111 100001110 100101010 001101000 101100010 010101110
output:
-1
result:
ok Kout = -1, Kans = -1
Test #43:
score: 0
Accepted
time: 36ms
memory: 35084kb
input:
6 836 001111110001001001101010101010011100010100100100111110110100101000100100000000011101110001011100111111111001101111111101101110010011000100100111111101011010101101011101010000100011100011000011111011011110000001010101001101110100001111111001000110111000010110001100110010010000101011001010101100...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #44:
score: 0
Accepted
time: 899ms
memory: 497888kb
input:
1 1680 00110010011001010101000101001110100010100110000110011101101101011011011011011011000000100100001111110111011001000010100101111110011000011110001000000001001010010110001011101000000110011010000001101010010000101111000010110001001010000010001010110000110111011011001011010011100111110000100110110...
output:
4232760 0 0 1 0 1 2 0 1 3 0 1 1 0 2 4 0 2 3 0 2 1 0 3 4 0 3 3 0 3 1 0 4 2 0 4 3 0 4 1 0 5 2 0 5 3 0 5 1 0 6 4 0 6 3 0 6 1 0 7 2 0 7 3 0 7 1 0 8 2 0 8 3 0 8 1 0 9 4 0 9 3 0 9 1 0 10 4 0 10 3 0 10 1 0 11 2 0 11 3 0 11 1 0 12 2 0 12 3 0 12 1 0 13 4 0 13 3 0 13 1 0 14 2 0 14 3 0 14 1 0 15 4 0 15 3 0 15 ...
result:
ok Kout = 4232760, Kans = 4232760
Test #45:
score: 0
Accepted
time: 17ms
memory: 21020kb
input:
5 525 010011011010110111000101111001010011110110100011110111000110010010000011011011110001110100110101101111111001100010010011011011011101110010011011001111110100010011011001010111011001100011001000101100111000000100010100011011011110101010000011101110001001000000100101000000101011101010110101010110...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #46:
score: 0
Accepted
time: 56ms
memory: 42408kb
input:
9 1369 10111110110000010001000001110000001000010000101111010111111000100001001011101000101011000111001000010110010100011001110101100010000010000010100010011100110011000011110001001001010100010100001111111000111110100100010000100100110111110101100011010100000011000011010111111101011001011001010010110...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #47:
score: 0
Accepted
time: 78ms
memory: 81780kb
input:
7 1509 10100001100101000101100011100001010001111101001010100101000010000100010000100110001011000011111000111100011100000110100100011010011111011100111010101011110111011011100100101110011000110111100101101011010101100011101011110001011101001011010100000011001001110100111101101001100110101111011010011...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #48:
score: 0
Accepted
time: 33ms
memory: 28304kb
input:
1 354 101000111100100010011000000111001111100100100101111010100100101010111001011110011010111111010010101111101101101010100011010000011011010101000011010000001101110011011000101101111011111001011010111100100001100000110000110011101011010011110011001100101100011101100010101001100101110011001011001011...
output:
187797 0 0 4 0 1 4 0 1 2 0 1 1 0 2 4 0 2 2 0 2 3 0 3 4 0 3 2 0 3 1 0 4 4 0 4 2 0 4 1 0 5 4 0 5 2 0 5 1 0 6 4 0 6 2 0 6 3 0 7 4 0 7 2 0 7 3 0 8 4 0 8 2 0 8 3 0 9 4 0 9 2 0 9 3 0 10 4 0 10 2 0 10 1 0 11 4 0 11 2 0 11 1 0 12 4 0 12 2 0 12 3 0 13 4 0 13 2 0 13 1 0 14 4 0 14 2 0 14 1 0 15 4 0 15 2 0 15 1...
result:
ok Kout = 187797, Kans = 187797
Test #49:
score: 0
Accepted
time: 61ms
memory: 60380kb
input:
5 1006 00111100011111100001101011101101000101000011011000111111110010111011001101010000100011001000000111001011010000001110010000101000010111100101100101101000110000011011101010111110101110100110000011001000010000011111000001011111101010110011100110010011010000000000100000111101000001000100101110100...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #50:
score: 0
Accepted
time: 83ms
memory: 67460kb
input:
9 1851 11000110100010011010000110010000010111101010100110011010100101110011100000101101001010000010001011111110100001101000001101111011011011011110010110000111001101110011001011111001110001011101100110111111100101100101000110010001011001100101010111100000101111010110010000110111010100011010111101110...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #51:
score: 0
Accepted
time: 17ms
memory: 21160kb
input:
7 695 001100011101000101000011101100000101000000010110110101110110100101010100100111101110100100110101110100111000011000000101111101010100010010101011100101111001100001101111000111000111010110101101001111110111110001010011011111110111111010101010100100111010101010100111110011001100101100110010111101...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #52:
score: 0
Accepted
time: 5ms
memory: 6880kb
input:
8 231 010111111111010000001100101001011111011010100101010100111010100110111011111111101110001100001001101110001001000000001110010010010110011001011110100110110110101100101110101100101011000001101111101001110000101110110010000100111101010 00010011100001101010000101100000110001010100100010110011011111...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #53:
score: 0
Accepted
time: 35ms
memory: 56580kb
input:
1751 1586 01101110101110010111101111101010000000001010101101111100000001001100010101101011011111100010010111010010010010111101000011101101010110011100010001111110110011001111111111010000101011010111101110010101010011100110001111101111010000001111101111101011110100011101101100000011100110100110000000...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #54:
score: 0
Accepted
time: 25ms
memory: 35396kb
input:
1879 942 000110000110010111010100001100110100110111110010011011100000001111011000110000000001110001001111110000010000110101111011101001001110000101111111101100101100110111111011001011001101101000011000000011110000011111111000010111000000001011101101110100011111101000110101000010011110101011110001111...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #55:
score: 0
Accepted
time: 6ms
memory: 21652kb
input:
599 1083 111111011111001001100010010111010010011010111001100010011000101111110011111111000001001000000011110101011100100100000000001010100100011010010111010111011101010101010011001101100101011001110010111100000110111001000000100001111110000011001000100111100000110100100110010001011100101101111000110...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #56:
score: 0
Accepted
time: 27ms
memory: 43904kb
input:
727 1927 001101011110100000000001100011110010101101011100011010001000111100001001110000111101111101101111111101011111110111010100110000100011110110001110011000101001001001001100101110111111111000011110111110010111110111111101000010011011000010111011010110100110101010100111010011110101000111101000001...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #57:
score: 0
Accepted
time: 4ms
memory: 13692kb
input:
151 772 0011100000111101101010100111100010111101101001001010101000110100000010101010011001011010111110011100101101011110010000101110111011001110111110110011011001111101010011010110111011010011011001111101001100111001110110111001011010110100000000010101110000101011101001001110111011000000100100010000...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #58:
score: 0
Accepted
time: 4ms
memory: 12696kb
input:
279 912 1101101011000001010100111010110010110011000101001111100000100001110011010010001101010100000111011101111010100010100011001010010100110111000000001010010110111000110100010011101010011111010001011011100011011101101100110001111011101010000011000111001010001010110110000111001001100100100111100001...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #59:
score: 0
Accepted
time: 5ms
memory: 20584kb
input:
1704 460 011100111111111110111100000010110110000111101010010100101100011011110101100111010000101111110001100100110111010100110011000011001100111101110110001010010010111110110000000000100111110110011000011110010101100101011011001001111010110010110011110011011100110111010111110111100010110010000101110...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #60:
score: 0
Accepted
time: 5ms
memory: 15136kb
input:
1128 409 110010110101001111011001011001011000001111001001010001010110111111101101000111111110110110000111100001000010110010110010111001101111010010100000100000011100110010001010010010010000101100011010010111011110111010010010010110101100001001111111100111100000111010010001101010010011100010001110001...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #61:
score: 0
Accepted
time: 15ms
memory: 35720kb
input:
1256 1253 00001111110000100001010011101010110110011010100000000010110000001011100101111001010101010001001100100011010101101100110100101011100100101101000111001010001010011101100000101101110100111100111101100100110100110010010000011001111100111111011111101101001111101000111111100010101111101111001001...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #62:
score: 0
Accepted
time: 22ms
memory: 33128kb
input:
1537 1004 11100001111000100101010000101010000001010011001001110010100111110000000100110110010100111001010100001110001101111111111010001101001100110100110011100010001001110111111110110110111111000110011100000101100010110111110000000110011010001100100111111111011100110000101110010111111011110101000111...
output:
-1
result:
ok Kout = -1, Kans = -1
Test #63:
score: 0
Accepted
time: 1342ms
memory: 290392kb
input:
2000 2000 00111010010010101011100101011110001000011110110110001001100001011010001110101110010111011100100111000011111100100110100110110000111111110010111100011110000000000010100010000001000100111000001110111111011101111010100110001111100111001100001001101011011101001011101000111011001011000101111101...
output:
2001000 0 1 2 0 2 4 0 3 4 0 4 1 0 5 2 0 6 4 0 7 2 0 8 3 0 9 4 0 10 2 0 11 2 0 12 4 0 13 2 0 14 4 0 15 3 0 16 4 0 17 2 0 18 4 0 19 4 0 20 4 0 21 2 0 22 2 0 23 1 0 24 2 0 25 4 0 26 2 0 27 4 0 28 4 0 29 1 0 30 4 0 31 3 0 32 2 0 33 2 0 34 4 0 35 3 0 36 2 0 37 2 0 38 3 0 39 4 0 40 1 0 41 4 0 42 1 0 43 3 ...
result:
ok Kout = 2001000, Kans = 2001000
Test #64:
score: 0
Accepted
time: 1301ms
memory: 290016kb
input:
2000 2000 11101000100100110110110111100101111011101100110011001100010000010100011100000001100000111100000101101011000011010011111100111010101001101001110011110100011111011000011100000111010101111001001011000111011010011110100011001111100000001111110010111001000010000000000111100101011001011100111101...
output:
2001000 0 1 3 0 2 3 0 3 2 0 4 4 0 5 1 0 6 1 0 7 1 0 8 3 0 9 1 0 10 1 0 11 4 0 12 1 0 13 1 0 14 3 0 15 3 0 16 1 0 17 4 0 18 3 0 19 1 0 20 3 0 21 4 0 22 1 0 23 4 0 24 3 0 25 4 0 26 3 0 27 2 0 28 1 0 29 3 0 30 1 0 31 3 0 32 3 0 33 3 0 34 3 0 35 1 0 36 3 0 37 3 0 38 3 0 39 1 0 40 3 0 41 4 0 42 1 0 43 1 ...
result:
ok Kout = 2001000, Kans = 2001000
Test #65:
score: 0
Accepted
time: 1287ms
memory: 289924kb
input:
2000 2000 11000010000110011011110010001111100101100111010111000100000000001001110111101110111000011010101101100011100101001101100100101100111001100100101010100101000100000101110011110001101101001001101101011110011101100000100111111100110011010011100001010001111001001111000110111011111001001010001101...
output:
2001000 0 1 4 0 2 4 0 3 4 0 4 2 0 5 2 0 6 3 0 7 1 0 8 2 0 9 2 0 10 2 0 11 4 0 12 4 0 13 2 0 14 2 0 15 4 0 16 4 0 17 2 0 18 4 0 19 4 0 20 4 0 21 4 0 22 2 0 23 2 0 24 4 0 25 2 0 26 2 0 27 4 0 28 2 0 29 4 0 30 4 0 31 4 0 32 4 0 33 4 0 34 2 0 35 4 0 36 2 0 37 4 0 38 4 0 39 2 0 40 1 0 41 2 0 42 4 0 43 4 ...
result:
ok Kout = 2001000, Kans = 2001000
Test #66:
score: 0
Accepted
time: 1327ms
memory: 290016kb
input:
2000 2000 10000000000101110100100101010010001110001100110100111110010000100100000100000000010100000001100010100101111011011101111010111110001100100001100011011101101101101001001010010100101011010001010110000000011011000110000111110011111101011111111110010110011111001010000110010010110110001110110101...
output:
2001000 0 1 1 0 2 2 0 3 1 0 4 1 0 5 1 0 6 1 0 7 1 0 8 2 0 9 2 0 10 2 0 11 3 0 12 2 0 13 3 0 14 3 0 15 4 0 16 1 0 17 3 0 18 1 0 19 2 0 20 3 0 21 1 0 22 1 0 23 3 0 24 1 0 25 3 0 26 1 0 27 4 0 28 2 0 29 1 0 30 3 0 31 1 0 32 1 0 33 1 0 34 3 0 35 3 0 36 4 0 37 1 0 38 2 0 39 1 0 40 4 0 41 4 0 42 1 0 43 2 ...
result:
ok Kout = 2001000, Kans = 2001000
Test #67:
score: 0
Accepted
time: 1321ms
memory: 287628kb
input:
2000 2000 00100000000100010100101000010011001001111100100011100001100100111010000001000110100011011101010011100101101011011011011110100010011011101101111111000010001001111111111111100111100010101100101000100101011000011010100100111110100011100011110000111101011000010111010011101100101000010010001001...
output:
2001000 0 1 3 0 2 3 0 3 1 0 4 3 0 5 1 0 6 1 0 7 3 0 8 3 0 9 3 0 10 3 0 11 3 0 12 3 0 13 1 0 14 3 0 15 3 0 16 3 0 17 3 0 18 3 0 19 1 0 20 1 0 21 1 0 22 3 0 23 3 0 24 3 0 25 1 0 26 1 0 27 1 0 28 1 0 29 3 0 30 3 0 31 1 0 32 2 0 33 1 0 34 3 0 35 3 0 36 1 0 37 1 0 38 3 0 39 3 0 40 1 0 41 1 0 42 3 0 43 3 ...
result:
ok Kout = 2001000, Kans = 2001000
Test #68:
score: 0
Accepted
time: 1312ms
memory: 289860kb
input:
2000 2000 00100101010000000000000111001011100001100111111110111110001000110111010001001111000010110111111011001011110101000011101110000110010010101100101000111111001110011100111100011110010100011000000011100000101010011001111001010000110100000101110010100101111010100100101010001100100000110111111111...
output:
2001000 0 1 3 0 2 3 0 3 1 0 4 3 0 5 3 0 6 2 0 7 1 0 8 2 0 9 3 0 10 2 0 11 2 0 12 2 0 13 2 0 14 2 0 15 3 0 16 2 0 17 2 0 18 2 0 19 2 0 20 2 0 21 2 0 22 2 0 23 3 0 24 1 0 25 3 0 26 1 0 27 2 0 28 1 0 29 3 0 30 4 0 31 1 0 32 3 0 33 3 0 34 3 0 35 2 0 36 2 0 37 4 0 38 3 0 39 3 0 40 3 0 41 1 0 42 1 0 43 4 ...
result:
ok Kout = 2001000, Kans = 2001000
Test #69:
score: 0
Accepted
time: 1361ms
memory: 289512kb
input:
2000 2000 01111100110010011110000111001100000111000000101101110101111011011110100011101001110101011100110110110011100000100111010010010010110010111111010111011111111001001001001110111011010011000000011010010110011111000111011110101000011010100101100010100101101000100010111001101101001010011000100100...
output:
2001000 0 1 1 0 2 3 0 3 3 0 4 4 0 5 3 0 6 3 0 7 1 0 8 1 0 9 4 0 10 1 0 11 3 0 12 1 0 13 1 0 14 3 0 15 1 0 16 1 0 17 4 0 18 3 0 19 3 0 20 1 0 21 1 0 22 2 0 23 3 0 24 1 0 25 4 0 26 3 0 27 1 0 28 4 0 29 3 0 30 2 0 31 3 0 32 3 0 33 3 0 34 2 0 35 4 0 36 3 0 37 1 0 38 2 0 39 3 0 40 1 0 41 1 0 42 1 0 43 2 ...
result:
ok Kout = 2001000, Kans = 2001000
Test #70:
score: 0
Accepted
time: 1383ms
memory: 291828kb
input:
2000 2000 10111110101111011000011101110000100100110001110000100010110010101111110001100010100101000100101101101010111001001111000010000110111100111100111100010000101100111010011111011110111010111110011111111010000001101101010111011001000011111111110111111100110111001011010100101100010000001111000010...
output:
2001000 0 1 4 0 2 3 0 3 2 0 4 3 0 5 3 0 6 3 0 7 4 0 8 3 0 9 4 0 10 2 0 11 2 0 12 2 0 13 2 0 14 1 0 15 3 0 16 2 0 17 4 0 18 1 0 19 1 0 20 4 0 21 3 0 22 4 0 23 2 0 24 4 0 25 4 0 26 4 0 27 3 0 28 2 0 29 4 0 30 2 0 31 4 0 32 4 0 33 1 0 34 1 0 35 3 0 36 1 0 37 2 0 38 2 0 39 3 0 40 2 0 41 1 0 42 4 0 43 2 ...
result:
ok Kout = 2001000, Kans = 2001000
Test #71:
score: 0
Accepted
time: 1335ms
memory: 289808kb
input:
2000 2000 11100100001101010101010010010001010011100011010100110111000100101110000010000000111100011110001101000000110000101011001010011000000101000100110010111100100100111011110011000010001000101011111100110000111001000111101110001111011011000011100100101011110100111000010000100101100100111010010100...
output:
2001000 0 1 2 0 2 2 0 3 2 0 4 4 0 5 2 0 6 4 0 7 1 0 8 2 0 9 2 0 10 2 0 11 4 0 12 2 0 13 3 0 14 1 0 15 2 0 16 2 0 17 2 0 18 1 0 19 2 0 20 1 0 21 2 0 22 1 0 23 4 0 24 2 0 25 1 0 26 1 0 27 4 0 28 2 0 29 4 0 30 4 0 31 2 0 32 1 0 33 2 0 34 1 0 35 2 0 36 3 0 37 4 0 38 2 0 39 4 0 40 4 0 41 4 0 42 3 0 43 2 ...
result:
ok Kout = 2001000, Kans = 2001000
Test #72:
score: 0
Accepted
time: 1347ms
memory: 290036kb
input:
2000 2000 01011010010100100110011111110101001010000110000100101000010010111100101001010010101111001011011101111010010111110111111111100000111000001110001101010010001010000110110011110001010110011111000100111100010111000111000110111011010011111100100010011011000000010101001010110010101010001001101001...
output:
2001000 0 1 3 0 2 2 0 3 3 0 4 4 0 5 3 0 6 3 0 7 2 0 8 2 0 9 1 0 10 1 0 11 4 0 12 2 0 13 3 0 14 3 0 15 2 0 16 2 0 17 4 0 18 4 0 19 3 0 20 2 0 21 3 0 22 4 0 23 4 0 24 4 0 25 3 0 26 4 0 27 4 0 28 2 0 29 4 0 30 3 0 31 4 0 32 2 0 33 2 0 34 1 0 35 3 0 36 4 0 37 2 0 38 2 0 39 2 0 40 3 0 41 4 0 42 4 0 43 1 ...
result:
ok Kout = 2001000, Kans = 2001000