QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#340330#7398. Triangle TilingschrodingerstomAC ✓452ms53188kbC++143.5kb2024-02-28 21:13:352024-02-28 21:13:35

Judging History

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

  • [2024-02-28 21:13:35]
  • 评测
  • 测评结果:AC
  • 用时:452ms
  • 内存:53188kb
  • [2024-02-28 21:13:35]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
bool memBeg;
constexpr int maxn = 5005;
int n;
char mp[maxn][maxn], ret[maxn][maxn];
vector<int> buc[maxn];
struct segment_tree {
    int maxx[maxn << 2], tag[maxn << 2];
    void push_up(int cur) {
        maxx[cur] = max(maxx[cur << 1], maxx[cur << 1 | 1]) + tag[cur];
    }
    void build(int tl, int tr, int cur) {
        tag[cur] = 0;
        if (tl == tr) return maxx[cur] = tl, void();
        int mid = (tl + tr) >> 1;
        build(tl, mid, cur << 1);
        build(mid + 1, tr, cur << 1 | 1);
        push_up(cur);
    }
    void modify(int tl, int tr, int cur, int l, int r, int v) {
        if (l <= tl && tr <= r) return maxx[cur] += v, tag[cur] += v, void();
        int mid = (tl + tr) >> 1;
        if (l <= mid) modify(tl, mid, cur << 1, l, r, v);
        if (r > mid) modify(mid + 1, tr, cur << 1 | 1, l, r, v);
        push_up(cur);
    }
    int query(int tl, int tr, int cur, int l, int r) {
        if (l <= tl && tr <= r) return maxx[cur];
        int mid = (tl + tr) >> 1;
        if (l > mid) return query(mid + 1, tr, cur << 1 | 1, l, r) + tag[cur];
        else if (r <= mid) return query(tl, mid, cur << 1, l, r) + tag[cur];
        else return max(query(tl, mid, cur << 1, l, r),
                        query(mid + 1, tr, cur << 1 | 1, l, r)) + tag[cur];
    }
} T;
void mian() {
    scanf("%d", &n);
    for (int i = 0; i <= n; i++) buc[i].clear();
    for (int i = 1; i <= n; i++) {
        scanf("%s", mp[i] + 1);
        ret[i][i + 1] = 0;
        for (int j = 1; j <= i; j++) {
            if (mp[i][j] == '0') {
                ret[i][j] = '-';
                buc[i - j].emplace_back(j);
            }
        }
    }
    for (int i = n; i >= 2; i--) {
        static int stk[maxn];
        int top = 0;
        for (int j = 1; j <= i; j++) {
            if (mp[i][j] == '0') stk[++top] = j;
        }
        if (!top) {
            return puts("Impossible!"), void();
        }
        fill(ret[i] + 1, ret[i] + stk[1], '3');
        fill(ret[i] + stk[top] + 1, ret[i] + i + 1, '1');
        T.build(0, i - 1, 1);
        auto ins = [&](int col) {
            for (int v : buc[i - 1 - col]) {
                if (v >= col) break;
                T.modify(0, i - 1, 1, 0, v - 1, 1);
            }
            if (mp[i - 1][col] == '0') T.modify(0, i - 1, 1, 0, col - 1, 1);
        };
        for (int k = 1; k < stk[1]; k++) ins(k);
        for (int j = 1; j < top; j++) {
            int pos = stk[j];
            for (int k = stk[j]; k < stk[j + 1]; k++) {
                ins(k); if (T.query(0, i - 1, 1, 0, stk[j] - 1) == k) pos = k + 1;
            }
            // printf("i = %d, j = %d, l = %d, r = %d, pos = %d\n",
            //         i, j, stk[j], stk[j + 1], pos);
            if (pos == stk[j + 1] || mp[i - 1][pos] == '0') return puts("Impossible!"), void();
            fill(ret[i] + stk[j] + 1, ret[i] + pos + 1, '1');
            fill(ret[i] + pos + 1, ret[i] + stk[j + 1], '3');
            mp[i - 1][pos] = '0'; ret[i - 1][pos] = '2';
            T.modify(0, i - 1, 1, 0, pos - 1, 1);
        }
    }
    for (int i = 1; i <= n; i++) {
        printf("%s\n", ret[i] + 1);
    }
}
bool memEn;
void fl() {
    freopen("triangle.in","r",stdin);
    freopen("triangle.out","w",stdout);
}
int main() {
    fprintf(stderr,"%.24lf\n",fabs(&memEn-&memBeg)/1024.0/1024.0);
    // fl();
    int _; scanf("%d", &_);
    while (_--) mian();
    return 0;
}

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

详细

Test #1:

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

input:

1
4
0
11
010
1101

output:

-
21
-3-
33-1

result:

ok ok

Test #2:

score: 0
Accepted
time: 1ms
memory: 6168kb

input:

909
6
0
11
100
1111
11100
111110
7
0
11
011
1001
10111
100111
1111111
6
0
00
001
1111
11101
111111
8
1
01
111
1111
10111
101110
1101101
11111100
2
1
00
2
0
01
3
0
01
110
7
1
00
011
1010
11011
110111
1111111
8
1
11
111
1011
11010
011110
1101110
01111111
5
1
00
010
1111
10111
6
0
10
011
0101
01111
111...

output:

-
32
3--
3332
333--
33333-
Impossible!
Impossible!
Impossible!
2
--
-
-1
-
-1
33-
Impossible!
2
22
222
2-22
23-2-
-3213-
33-333-
-1111111
Impossible!
Impossible!
Impossible!
Impossible!
2
--
2
--
Impossible!
-
21
--1
-
-1
Impossible!
2
22
2--
-3-1
Impossible!
2
-2
-1-
2111
-2111
3233-1
3--1111
3333-...

result:

ok ok

Test #3:

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

input:

500
10
0
10
110
1110
11101
011111
0111111
11101111
111011111
1111111011
10
0
10
110
1011
11101
111110
1011111
11111101
111110111
1111111110
10
0
10
011
1011
11101
111011
0111111
11110111
111110111
1111110111
10
0
01
011
0111
01111
101111
1110111
11011111
110111111
1111111011
10
0
01
110
0111
11101
1...

output:

-
3-
33-
333-
333-1
-11111
-111111
333-1111
333-11111
3333333-11
-
3-
33-
3-11
333-1
33333-
3-11111
333333-1
33333-111
333333333-
-
3-
-11
3-11
333-1
333-11
-111111
3333-111
33333-111
333333-111
-
-1
-11
-111
-1111
3-1111
333-111
33-11111
33-111111
3333333-11
-
-1
33-
-111
333-1
33333-
3-11111
33-11...

result:

ok ok

Test #4:

score: 0
Accepted
time: 2ms
memory: 10164kb

input:

500
10
0
11
111
1111
11111
101101
1111100
10111011
110111110
1111110111
10
1
00
101
0101
10110
111110
1111111
11111111
111111100
1111111111
10
1
11
111
1111
11010
011111
0111110
11011111
101111101
1101111101
10
0
01
100
1111
11010
111110
1110110
11111111
111111111
1011111111
10
0
10
100
1010
11111
1...

output:

-
32
322
3222
32222
3-22-2
32123--
3-213-11
33-33333-
333333-111
Impossible!
2
22
222
2222
22-2-
-22121
-12213-
33-22111
3-11233-1
33-11333-1
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
2
-2
212
2212
--212
3-121-
333-211
-1111211
3-1111321
3333333--1
Impossible!
2
2-
2-1
2211
2233-
2...

result:

ok ok

Test #5:

score: 0
Accepted
time: 2ms
memory: 8104kb

input:

500
10
0
00
110
0110
11101
001111
1110111
11111111
111111111
1111111111
10
1
00
111
0100
00011
111101
1111011
11111111
111111111
1111111111
10
1
00
001
0001
01001
111111
1111111
11111111
111111111
1111111111
10
1
00
111
0100
01001
111111
0011111
11111111
111111111
1111111111
10
0
00
111
1011
10100
0...

output:

Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
...

result:

ok ok

Test #6:

score: 0
Accepted
time: 3ms
memory: 10092kb

input:

250
20
0
01
101
1011
01111
111110
1111011
11110111
011111111
1111111101
11111111110
111110111111
1111111111110
11111111111101
111111111110111
1111111111011111
11111111111011111
011111111111111111
1111111110111111111
11111111110111111111
20
0
01
101
1110
11110
101111
1111011
11011111
011111111
111011...

output:

-
-1
3-1
3-11
-1111
33333-
3333-11
3333-111
-11111111
33333333-1
3333333333-
33333-111111
333333333333-
333333333333-1
33333333333-111
3333333333-11111
33333333333-11111
-11111111111111111
333333333-111111111
3333333333-111111111
-
-1
3-1
333-
3333-
3-1111
3333-11
33-11111
-11111111
333-111111
33333...

result:

ok ok

Test #7:

score: 0
Accepted
time: 2ms
memory: 6180kb

input:

250
20
1
01
101
1010
11101
111111
1111111
00111111
111111111
1110011111
11111101111
111111111111
1111111111111
11011111111111
111111111111111
1111110110111111
11011111101111111
111111111110111111
1111111111111011011
01111111111111011111
20
1
10
111
1111
11111
111110
1001111
11111111
111101101
110111...

output:

2
-2
3-2
3-1-
333-1
211111
2211111
--211111
211211111
233--11111
233333-1111
232111111111
2322111111111
23-23321111111
232133233211111
232333-33-211111
23-333333-1211111
23333333333-321111
2333333333333-33-11
-3333333333333-11111
Impossible!
Impossible!
Impossible!
2
22
2--
2211
223-1
223211
2232211...

result:

ok ok

Test #8:

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

input:

250
20
0
10
011
0110
10001
010111
1111111
11111111
111110111
1110111111
10111111111
111101111111
1111111110111
11111111111111
111111110111111
1011111111110111
11111110111111111
111111111011111111
1111111111111111111
11111111111111111111
20
1
11
100
1111
01101
100011
0001111
10110111
010011111
010111...

output:

Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
...

result:

ok ok

Test #9:

score: 0
Accepted
time: 6ms
memory: 6548kb

input:

50
100
1
11
110
0101
11101
011111
1111111
11111111
111111111
0111111111
01111101111
111111111111
1111111111111
11111111111111
111111110111110
1111111111111111
01111111111111101
111111111111111111
1111110111111111111
11111111101111111111
110111111111011111111
1111111111111111111111
111111011111111111...

output:

Impossible!
2
22
-2-
213-
22111
222111
2-23-11
22121111
2-213-111
2212111111
22212111111
222322111111
22-3-22111111
22333--2111111
22211111333-111
222333333-111111
22221111111111111
22-221111111111111
2221221111111111111
22221221111111111111
222221221111111111111
222-221221111111111111
2222122123333...

result:

ok ok

Test #10:

score: 0
Accepted
time: 2ms
memory: 6516kb

input:

50
100
0
01
111
1011
01111
111111
1111111
11110001
111000111
1111111111
01110101111
111111111111
1111011111111
11101111111111
111111011111111
1111011111011101
11101111011111110
111111111111111111
0111110111111011111
11111111111111111111
110111011111111101110
0111111111111110110111
111111111110011111...

output:

Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
Impossible!
...

result:

ok ok

Test #11:

score: 0
Accepted
time: 46ms
memory: 16296kb

input:

5
1000
0
01
101
1101
11101
111110
0111111
11011111
111111110
1110111111
11111110111
111111111110
1111111101111
11011111111111
111111101111111
1101111111111111
10111111111111111
101111111111111111
1011111111111111111
11101111111111111111
111111111111111111011
1111111011111111111111
111111011111111111...

output:

-
-1
3-1
33-1
333-1
33333-
-111111
33-11111
33333333-
333-111111
3333333-111
33333333333-
33333333-1111
33-11111111111
3333333-1111111
33-1111111111111
3-111111111111111
3-1111111111111111
3-11111111111111111
333-1111111111111111
333333333333333333-11
3333333-11111111111111
333333-1111111111111111
3...

result:

ok ok

Test #12:

score: 0
Accepted
time: 50ms
memory: 15164kb

input:

5
1000
0
00
100
1110
10111
111111
0111101
11111111
111101111
1111111111
11111111010
101111111101
1111111111111
11111111111111
111111111111111
0111111111110111
11111110111011111
111111111111111111
1111111111111111111
11111111111111110011
111111111111111111111
1111110111111111111011
111011111111111111...

output:

Impossible!
-
21
221
2221
-2-21
21213-
2212111
22212111
-22212111
2122212111
22122212111
222122212111
-222122213-11
212-2122211111
221212122211111
222121-1-2321111
22221-11113-21111
22-23333333213333-
22213333333-3333-11
222333333333333333-1
222211111111111111111
2222211111111111111111
2222233333333...

result:

ok ok

Test #13:

score: 0
Accepted
time: 4ms
memory: 15052kb

input:

5
1000
0
10
001
1100
00110
111110
1111111
11111111
111010011
1111111111
11111111111
111001011111
1111011100111
10111111110111
111110111010111
1111111111111111
11111101110110111
111101110111111111
1111011111110111111
10111111111011111101
011111111111111111111
1111111111111111111110
111111111111111111...

output:

Impossible!
Impossible!
Impossible!
Impossible!
Impossible!

result:

ok ok

Test #14:

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

input:

5
1000
1
00
111
1101
11111
100101
0010101
10110011
111111011
1101110001
11101111111
101110111101
1111111111011
01111111100101
111011111111111
1111111111110111
11111100111101011
111111010100111111
1111110101111011111
11111111101110111101
111011111111111110111
1011111111011111110110
111111111111111111...

output:

Impossible!
Impossible!
Impossible!
Impossible!
Impossible!

result:

ok ok

Test #15:

score: 0
Accepted
time: 4ms
memory: 15508kb

input:

5
1000
0
11
100
1110
01101
111001
1111111
11011000
110011011
0111111111
11100110111
001101111100
1111111011111
10111101101101
011101110111100
1010110111011111
11101110010101111
101001111111111011
1111111111110111111
11111111111111111111
111111111111111011111
1111111111111111111111
101111101011111111...

output:

Impossible!
Impossible!
Impossible!
Impossible!
Impossible!

result:

ok ok

Test #16:

score: 0
Accepted
time: 4ms
memory: 18796kb

input:

5
1000
0
00
100
0110
01000
111010
1111111
00001001
111011110
1111011001
11111001011
111111111111
0110010111010
10101001000010
100101011000011
1111111111111111
11111111111111111
010011011110100011
1111110111011111011
11111011111111110111
111110111011111111111
1101101001101101100010
111111111111111011...

output:

Impossible!
Impossible!
Impossible!
Impossible!
Impossible!

result:

ok ok

Test #17:

score: 0
Accepted
time: 4ms
memory: 15412kb

input:

5
1000
0
00
100
0000
00001
001001
0001101
11011010
011111110
1000000100
10000110011
110111111001
1001011111111
11101111101011
000000000000001
1100100000101000
01000100001000011
111111101110111111
0100001100000001000
10000000001000000100
000001000000000000000
1100000010010111000010
000010001010001001...

output:

Impossible!
Impossible!
Impossible!
Impossible!
Impossible!

result:

ok ok

Test #18:

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

input:

5
1000
1
00
000
0011
00000
100001
1110010
11111101
001000000
1001010100
11101011111
110100011101
1111111111111
00100000000000
111000111110011
0001000100001000
00000100010100000
111001011001001000
0000001000001000100
00001000001000001000
100000110000010010000
1111111011101001110110
111011101110111011...

output:

Impossible!
Impossible!
Impossible!
Impossible!
Impossible!

result:

ok ok

Test #19:

score: 0
Accepted
time: 158ms
memory: 18588kb

input:

5
1000
1
11
111
1111
11111
111111
1111111
11111111
111111111
1111111111
11111111111
111111111111
1111111111111
11111111111111
111111111111111
1111111111111111
11111111111111111
111111111111111111
1111111111111111111
11111111111111111111
111111111111111111111
1111111111111111111111
111111111111111111...

output:

2
22
222
2222
22222
222222
2222222
22222222
222222222
2222222222
22222222222
222222222222
2222222222222
22222222222222
222222222222222
2222222222222222
22222222222222222
222222222222222222
2222222222222222222
22222222222222222222
222222222222222222222
2222222222222222222222
22222222222222222222222
2...

result:

ok ok

Test #20:

score: 0
Accepted
time: 153ms
memory: 18424kb

input:

5
1000
1
11
111
1111
11111
111111
1111111
11111111
111111111
1111111111
11111111111
111111111111
1111111111111
11111111111111
111111111111111
1111111111111111
11111111111111111
111111111111111111
1111111111111111111
11111111111111111111
111111111111111111111
1111111111111111111111
111111111111111111...

output:

2
22
222
2222
22222
222222
2222222
22222222
222222222
2222222222
22222222222
222222222222
2222222222222
22222222222222
222222222222222
2222222222222222
22222222222222222
222222222222222222
2222222222222222222
22222222222222222222
222222222222222222222
2222222222222222222222
22222222222222222222222
2...

result:

ok ok

Test #21:

score: 0
Accepted
time: 84ms
memory: 26872kb

input:

2
2000
0
10
101
1110
10111
111110
1011111
11111011
111011111
1111111110
11101111111
111111110111
1111111111110
11111111110111
111111111110111
1111111101111111
11011111111111111
111111011111111111
0111111111111111111
11111111111111101111
101111111111111111111
1111111111110111111111
111111111011111111...

output:

-
3-
3-1
333-
3-111
33333-
3-11111
33333-11
333-11111
333333333-
333-1111111
33333333-111
333333333333-
3333333333-111
33333333333-111
33333333-1111111
33-11111111111111
333333-11111111111
-111111111111111111
333333333333333-1111
3-1111111111111111111
333333333333-111111111
333333333-1111111111111
3...

result:

ok ok

Test #22:

score: 0
Accepted
time: 93ms
memory: 26872kb

input:

2
2000
0
01
110
1011
10111
011111
1111110
11101111
101111111
1111101111
11011111111
011111111111
1011111111111
11111111101111
111101111111111
0111111111111111
11111111101111111
111111111110111111
1111111101111111111
11111111101111111111
111111111111011111111
1111111111011111111111
111011111111111111...

output:

-
-1
33-
3-11
3-111
-11111
333333-
333-1111
3-1111111
33333-1111
33-11111111
-11111111111
3-11111111111
333333333-1111
3333-1111111111
-111111111111111
333333333-1111111
33333333333-111111
33333333-1111111111
333333333-1111111111
333333333333-11111111
3333333333-11111111111
333-1111111111111111111
-...

result:

ok ok

Test #23:

score: 0
Accepted
time: 98ms
memory: 27852kb

input:

2
2000
0
10
011
0111
11110
110111
1110111
10111111
111101111
1111111011
11111011111
111101111111
1111111111110
11101111111111
111011111111111
1111111101111111
11111110111111111
110111111111111111
1111111111110111111
11111110111111111111
111111011111111111111
1111111111111111111110
111111110111111111...

output:

-
3-
-11
-111
3333-
33-111
333-111
3-111111
3333-1111
3333333-11
33333-11111
3333-1111111
333333333333-
333-1111111111
333-11111111111
33333333-1111111
3333333-111111111
33-111111111111111
333333333333-111111
3333333-111111111111
333333-11111111111111
333333333333333333333-
33333333-11111111111111
3...

result:

ok ok

Test #24:

score: 0
Accepted
time: 317ms
memory: 53188kb

input:

1
5000
0
10
011
1011
10111
111011
1111101
10111111
110111111
1111101111
11011111111
111101111111
1011111111111
11111111101111
111111111011111
1111111111011111
11011111111111111
111111111011111111
1111111111101111111
01111111111111111111
111111111111111110111
1111111111111111101111
111111111111111011...

output:

-
3-
-11
3-11
3-111
333-11
33333-1
3-111111
33-111111
33333-1111
33-11111111
3333-1111111
3-11111111111
333333333-1111
333333333-11111
3333333333-11111
33-11111111111111
333333333-11111111
33333333333-1111111
-1111111111111111111
33333333333333333-111
33333333333333333-1111
333333333333333-1111111
3...

result:

ok ok

Test #25:

score: 0
Accepted
time: 304ms
memory: 53024kb

input:

1
5000
0
10
011
0111
11101
011111
1111101
11110111
011111111
1111011111
11111111110
111110111111
1111111111101
11111111110111
111111111111101
1111111111111011
11011111111111111
101111111111111111
1111111111111111110
11111111111111110111
111101111111111111111
1111111011111111111111
111111111111111111...

output:

-
3-
-11
-111
333-1
-11111
33333-1
3333-111
-11111111
3333-11111
3333333333-
33333-111111
33333333333-1
3333333333-111
3333333333333-1
3333333333333-11
33-11111111111111
3-1111111111111111
333333333333333333-
3333333333333333-111
3333-1111111111111111
3333333-11111111111111
33333333333333333333-11
3...

result:

ok ok

Test #26:

score: 0
Accepted
time: 309ms
memory: 53000kb

input:

1
5000
0
01
101
1110
11011
011111
1111101
11111101
110111111
1101111111
11110111111
111111011111
1111111111110
11110111111111
111111111011111
0111111111111111
11111111110111111
111111111101111111
1111110111111111111
11111111101111111111
111111111111111101111
1101111111111111111111
101111111111111111...

output:

-
-1
3-1
333-
33-11
-11111
33333-1
333333-1
33-111111
33-1111111
3333-111111
333333-11111
333333333333-
3333-111111111
333333333-11111
-111111111111111
3333333333-111111
3333333333-1111111
333333-111111111111
333333333-1111111111
3333333333333333-1111
33-1111111111111111111
3-111111111111111111111
3...

result:

ok ok

Test #27:

score: 0
Accepted
time: 36ms
memory: 52828kb

input:

1
5000
1
00
111
1111
11111
100111
1111111
11111111
010111111
1101111111
11111011111
111111111111
1111111011101
11111111101111
111111111111111
1111111111111111
11111111111111111
111101111110111111
1111111111111111111
11111111111011111011
111111111111101011111
1111111111111111011111
111111111111111111...

output:

Impossible!

result:

ok ok

Test #28:

score: 0
Accepted
time: 452ms
memory: 53184kb

input:

1
5000
1
01
111
1110
11111
111111
1111111
11101111
111101101
1111111111
11110111111
111111111111
1111011111111
11111110111101
111101111111111
1110111111011111
11111111010111111
111111111011111111
1111111111111111101
11111111111011101111
110111111111111111111
1111111111111111111111
011111111111111111...

output:

Impossible!

result:

ok ok

Test #29:

score: 0
Accepted
time: 38ms
memory: 53168kb

input:

1
5000
0
11
000
0100
11111
010110
1010101
01011111
110111001
1111111101
01111011110
110111001111
1111111111111
11011111111111
111111111111111
0111111111101111
11111111011111111
111011110011111111
1111110111111111111
11111111111111111111
111111111111111111111
1111111111111111111111
111111111111011111...

output:

Impossible!

result:

ok ok

Test #30:

score: 0
Accepted
time: 20ms
memory: 52812kb

input:

1
5000
1
01
111
1111
01011
010110
1101100
01101001
000110111
1111110101
11111011111
111101111110
1111111110011
11111011011101
110111111111110
1110111001111111
01110111111111111
111111111111111111
1111110101111101111
11101011111111111111
111101111111110111101
0101111110111111111111
111111010111111101...

output:

Impossible!

result:

ok ok

Test #31:

score: 0
Accepted
time: 32ms
memory: 52848kb

input:

1
5000
1
00
111
1111
00001
101111
1110110
01010100
111000110
1111111111
01111111101
011111111111
1101110001110
10111011101111
111111111111111
1111011111111010
11111111111111111
111111111111111111
1111010111111111111
11111111111111111111
011111110011110101111
0011111111101111011111
111101111111111111...

output:

Impossible!

result:

ok ok

Extra Test:

score: 0
Extra Test Passed