CSES - Datatähti 2025 loppu - Results
Submission details
Task:Piiri
Sender:aatukaj
Submission time:2025-01-18 15:35:14 +0200
Language:C++ (C++17)
Status:READY
Result:26
Feedback
groupverdictscore
#10
#20
#3ACCEPTED26
#40
Test results
testverdicttimegroup
#10.01 s1, 2, 4details
#2ACCEPTED0.02 s1, 2, 4details
#30.02 s1, 2, 4details
#4ACCEPTED0.01 s1, 2, 4details
#5ACCEPTED0.02 s1, 2, 4details
#6ACCEPTED0.01 s1, 2, 4details
#7ACCEPTED0.01 s1, 2, 4details
#8ACCEPTED0.01 s1, 2, 4details
#9ACCEPTED0.02 s1, 2, 4details
#100.10 s2, 4details
#110.10 s2, 4details
#120.10 s2, 4details
#130.10 s2, 4details
#140.10 s2, 4details
#150.10 s2, 4details
#160.10 s2, 4details
#17ACCEPTED0.01 s3details
#18ACCEPTED0.02 s3details
#19ACCEPTED0.02 s3details
#20ACCEPTED0.02 s3details
#21ACCEPTED0.01 s3details
#220.01 s4details
#23ACCEPTED0.01 s4details
#24ACCEPTED0.02 s4details
#25ACCEPTED0.02 s4details
#26ACCEPTED0.02 s4details
#27ACCEPTED0.02 s4details
#28ACCEPTED0.02 s4details

Code

#include <bits/stdc++.h> 
#define all(v) (v).begin(), (v).end()
using namespace std;
const int maxN = 2e5+10;

int n, m;
void print(int mask) {
	for (int i=0; i<n; i++) {
		cout << char((mask>>i&1)+'0');
	}
}
int ask(int mask) {
	cout << "? ";
	print(mask);
	cout << endl;
	int res = 0;
	for (int i=0; i<m; i++) {
		char c;
		cin >> c;
		res += (c-'0')*(1<<i);
	}
	return res;
}
random_device rd;
mt19937 gen(rd());
uniform_int_distribution<int> dist(0, 0);
int rand(int l, int r) {
	dist.param(uniform_int_distribution<int>::param_type{l, r});
	return dist(gen);
}

void solve() {
	cin >> n >> m;
	map<int, int> prev;
	for (int i=0; i<1000000; i++) {
		int mask = rand(0, (1<<n)-1);
		int res = ask(mask);
		if (prev.count(res)) {
			cout << "YES\n";
			print(prev[res]);
			cout << '\n';
			print(mask);
			cout << endl;
			return;
		}
		prev[res] = mask;
	}
	cout << "NO\n";
	cout << endl;
}
int main() {
	solve();
}

Test details

Test 1

Group: 1, 2, 4

Verdict:

input
2 2
NO
1 2 

correct output
(empty)

user output
2 2
? 11
11
? 01
01
...

Error:
1 1 0 0

Test 2

Group: 1, 2, 4

Verdict: ACCEPTED

input
2 2
YES
1 2 
conj 2 1

correct output
(empty)

user output
2 2
? 00
00
? 11
11
...

Error:
1 1 100 0

Test 3

Group: 1, 2, 4

Verdict:

input
10 10
NO
6 2 1 8 3 9 4 10 5 7 

correct output
(empty)

user output
10 10
? 0010110100
1001100010
? 0101110101
1101001110
...
Truncated

Error:
1 1 0 0

Test 4

Group: 1, 2, 4

Verdict: ACCEPTED

input
10 10
YES
6 10 2 3 9 8 4 5 7 1 
disj 2 2
7 3 

correct output
(empty)

user output
10 10
? 0100110100
1010010100
? 1100000010
0010100001
...
Truncated

Error:
1 1 100 0

Test 5

Group: 1, 2, 4

Verdict: ACCEPTED

input
10 10
YES
8 4 9 10 6 3 7 2 1 5 
disj 1 5
2 9 1 4 3 

correct output
(empty)

user output
10 10
? 0110110101
1001110101
? 0000001110
1010001000
...
Truncated

Error:
1 1 100 0

Test 6

Group: 1, 2, 4

Verdict: ACCEPTED

input
10 10
YES
8 6 2 4 10 5 7 9 1 3 
disj 9 8
3 6 2 10 8 7 9 5 

correct output
(empty)

user output
10 10
? 0011100101
1001110001
? 1101010001
0111100010
...
Truncated

Error:
1 1 100 0

Test 7

Group: 1, 2, 4

Verdict: ACCEPTED

input
10 10
YES
1 2 3 5 8 6 4 9 10 7 
conj 4 2
8 10 

correct output
(empty)

user output
10 10
? 0101001111
0100101111
? 0100110101
0101110010
...
Truncated

Error:
1 1 100 0

Test 8

Group: 1, 2, 4

Verdict: ACCEPTED

input
10 10
YES
9 8 3 2 10 6 1 4 5 7 
conj 2 5
3 1 2 7 4 

correct output
(empty)

user output
10 10
? 0110101101
0111100011
? 1111001101
0111101101
...
Truncated

Error:
1 1 100 0

Test 9

Group: 1, 2, 4

Verdict: ACCEPTED

input
10 10
YES
7 1 5 8 9 4 3 6 2 10 
conj 4 8
9 6 3 5 1 10 7 4 

correct output
(empty)

user output
10 10
? 0110110100
0011001110
? 0110011110
1001101110
...
Truncated

Error:
1 1 100 0

Test 10

Group: 2, 4

Verdict:

input
30 30
NO
17 30 6 20 28 16 7 4 14 25 18 ...

correct output
(empty)

user output
30 30
? 1010101101111101101000001000...
Truncated

Error:
1 1 0 0

Test 11

Group: 2, 4

Verdict:

input
30 30
YES
13 22 6 23 16 20 9 30 8 18 2 1...

correct output
(empty)

user output
30 30
? 0010111001111001000011000110...
Truncated

Error:
1 1 0 0

Test 12

Group: 2, 4

Verdict:

input
30 30
YES
12 30 22 9 3 7 27 21 2 28 10 1...

correct output
(empty)

user output
30 30
? 0101011100101000010001110000...
Truncated

Error:
1 1 0 0

Test 13

Group: 2, 4

Verdict:

input
30 30
YES
4 7 27 17 26 24 9 20 19 22 10 ...

correct output
(empty)

user output
30 30
? 1101001000001110001100101111...
Truncated

Error:
1 1 0 0

Test 14

Group: 2, 4

Verdict:

input
30 30
YES
7 2 24 11 4 30 17 6 9 29 5 22 ...

correct output
(empty)

user output
30 30
? 1110001100000100100110010111...
Truncated

Error:
1 1 0 0

Test 15

Group: 2, 4

Verdict:

input
30 30
YES
8 12 21 26 3 23 17 4 5 6 22 16...

correct output
(empty)

user output
30 30
? 0110111000100011011000111001...
Truncated

Error:
1 1 0 0

Test 16

Group: 2, 4

Verdict:

input
30 30
YES
8 20 19 21 24 23 25 28 5 10 13...

correct output
(empty)

user output
30 30
? 1000110111101101100000001001...
Truncated

Error:
1 1 0 0

Test 17

Group: 3

Verdict: ACCEPTED

input
1000 999
YES
122 260 455 752 587 951 433 81...

correct output
(empty)

user output
1000 999
? 1101111100000000000000000000...
Truncated

Error:
1 1 100 0

Test 18

Group: 3

Verdict: ACCEPTED

input
1000 999
YES
593 999 981 107 187 851 19 574...

correct output
(empty)

user output
1000 999
? 0110111000000000000000000000...
Truncated

Error:
1 1 100 0

Test 19

Group: 3

Verdict: ACCEPTED

input
1000 999
YES
99 213 558 569 343 613 593 85 ...

correct output
(empty)

user output
1000 999
? 1101010100000000000000000000...
Truncated

Error:
1 1 100 0

Test 20

Group: 3

Verdict: ACCEPTED

input
1000 999
YES
60 15 857 450 862 173 675 384 ...

correct output
(empty)

user output
1000 999
? 0011101100000000000000000000...
Truncated

Error:
1 1 100 0

Test 21

Group: 3

Verdict: ACCEPTED

input
3 2
YES
3 1 
disj 1 2
2 1 

correct output
(empty)

user output
3 2
? 010
00
? 100
01
...

Error:
1 1 100 0

Test 22

Group: 4

Verdict:

input
1000 1000
NO
493 409 829 533 156 443 530 80...

correct output
(empty)

user output
1000 1000
? 1011001000000000000000000000...
Truncated

Error:
1 1 0 0

Test 23

Group: 4

Verdict: ACCEPTED

input
1000 1000
YES
16 450 665 56 968 1 984 545 90...

correct output
(empty)

user output
1000 1000
? 1000001100000000000000000000...
Truncated

Error:
1 1 100 0

Test 24

Group: 4

Verdict: ACCEPTED

input
1000 1000
YES
503 289 147 513 833 468 199 82...

correct output
(empty)

user output
1000 1000
? 1000111000000000000000000000...
Truncated

Error:
1 1 100 0

Test 25

Group: 4

Verdict: ACCEPTED

input
1000 1000
YES
294 617 164 497 46 961 234 12 ...

correct output
(empty)

user output
1000 1000
? 1111011000000000000000000000...
Truncated

Error:
1 1 100 0

Test 26

Group: 4

Verdict: ACCEPTED

input
1000 1000
YES
465 496 15 263 713 784 337 487...

correct output
(empty)

user output
1000 1000
? 1101100000000000000000000000...
Truncated

Error:
1 1 100 0

Test 27

Group: 4

Verdict: ACCEPTED

input
1000 1000
YES
788 567 826 731 874 95 502 20 ...

correct output
(empty)

user output
1000 1000
? 0011011100000000000000000000...
Truncated

Error:
1 1 100 0

Test 28

Group: 4

Verdict: ACCEPTED

input
1000 1000
YES
611 543 496 586 262 765 461 83...

correct output
(empty)

user output
1000 1000
? 0011001000000000000000000000...
Truncated

Error:
1 1 100 0