CSES - Datatähti 2025 loppu - Results
Submission details
Task:Piiri
Sender:aatukaj
Submission time:2025-01-18 15:35:52 +0200
Language:C++ (C++17)
Status:READY
Result:26
Feedback
groupverdictscore
#10
#20
#3ACCEPTED26
#40
Test results
testverdicttimegroup
#10.02 s1, 2, 4details
#2ACCEPTED0.01 s1, 2, 4details
#30.01 s1, 2, 4details
#4ACCEPTED0.01 s1, 2, 4details
#5ACCEPTED0.02 s1, 2, 4details
#6ACCEPTED0.02 s1, 2, 4details
#7ACCEPTED0.02 s1, 2, 4details
#8ACCEPTED0.02 s1, 2, 4details
#9ACCEPTED0.02 s1, 2, 4details
#10ACCEPTED0.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.02 s3details
#18ACCEPTED0.02 s3details
#19ACCEPTED0.02 s3details
#20ACCEPTED0.02 s3details
#21ACCEPTED0.02 s3details
#220.02 s4details
#23ACCEPTED0.02 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<3000; 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
? 01
01
? 10
10
...

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
? 00
00
...

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
? 1101111101
1111001111
? 0111100010
0100111010
...
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
? 0101111000
1010001110
? 1010111111
1101110111
...
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
? 1111110101
1101110111
? 0111001001
0101011100
...
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
? 0000110111
1100110100
? 1100111111
1110111110
...
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
? 1111011101
1110111011
? 0010100110
0011100100
...
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
? 1101100100
0101001110
? 0110110010
1011010010
...
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
? 0010010111
0001101101
? 1110101010
1110101010
...
Truncated

Error:
1 1 100 0

Test 10

Group: 2, 4

Verdict: ACCEPTED

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

correct output
(empty)

user output
30 30
? 1111110011010010111010000111...
Truncated

Error:
1 1 100 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
? 0111000101100001111001110110...
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
? 0100000010001000100011101010...
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
? 1011011000101110000000110000...
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
? 0111000010101111011101000010...
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
? 1110000011110110101001000000...
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
? 0010101110100100011101110111...
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
? 1111100000000000000000000000...
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
? 1010010100000000000000000000...
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
? 0111001100000000000000000000...
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
? 1111100100000000000000000000...
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
? 011
10
? 010
00
...

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
? 1001010100000000000000000000...
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
? 1100101000000000000000000000...
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
? 0100010100000000000000000000...
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
? 0101110000000000000000000000...
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
? 0100101000000000000000000000...
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
? 0001111000000000000000000000...
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
? 0101111000000000000000000000...
Truncated

Error:
1 1 100 0