CSES - Datatähti 2017 loppu - Results
Submission details
Task:Ruudukko
Sender:JesseNiininen
Submission time:2017-01-19 15:57:29 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.05 s1details
#20.04 s1details
#30.02 s1details
#40.03 s1details
#50.06 s1details
#60.12 s1details
#7--1details
#8--1details
#9--1details
#100.04 s2details
#110.03 s2details
#12--2details
#13--2details
#14--2details
#15--2details
#160.03 s3details
#170.04 s3details
#18--3details
#19--3details
#20--3details
#21--3details

Code

// g++ testi.cpp -o testi
// g++ -std=c++11 testi.cpp -o testi -O2
// g++ -std=c++11 ruudukko.cpp -o ruudukko -O2


#include <bits/stdc++.h>
typedef long long ll;

using namespace std;

int n;
vector<int> v;

bool check(){
	unordered_set<ll> used;
	for(int i = 0; i < n; i++){
		ll s = 1;
		for(int j = 0; j < n; j++){
			s *= v[n * i + j];
		}
		if(used.find(s) != used.end())
			return false;
		used.insert(s);
	}
	for(int i = 0; i < n; i++){
		ll s = 1;
		for(int j = 0; j < n; j++){
			s *= v[n * j + i];
		}
		if(used.find(s) != used.end())
			return false;
		used.insert(s);
	}
	return true;
}

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	cin >> n;
	ll n2 = n * n;
	v.resize(n2);
	for(int i = 0; i < n2; i++)
		v[i] = (i / n) + 1;

	
	
	while(next_permutation(v.begin(), v.end())){
		if(check()){
			int lvl = 0;
			for(int i = 0; i < n2; i++){
				if(i / n > lvl){
					cout << "\n";
					lvl++;
				}
				cout << v[i];
			}
			return 0;
		}
	}

}

Test details

Test 1

Group: 1

Verdict:

input
2

correct output
QAQ

user output
(empty)

Test 2

Group: 1

Verdict:

input
3

correct output
QAQ

user output
111
223
233

Test 3

Group: 1

Verdict:

input
4

correct output
3 4 3 4
3 1 1 2
4 4 3 2
2 2 1 1

user output
1111
2223
2343
4344

Test 4

Group: 1

Verdict:

input
5

correct output
2 3 4 1 1 
3 4 2 1 2 
4 2 3 1 3 
4 3 2 1 4 
5 5 5 5 5 

user output
11111
22222
33334
34454
54555

Test 5

Group: 1

Verdict:

input
6

correct output
2 3 4 5 1 1 
3 4 5 2 1 2 
4 5 2 3 1 3 
5 2 3 4 1 4 
5 4 3 2 1 5 
...

user output
111111
222222
333333
444455
445656
...

Test 6

Group: 1

Verdict:

input
7

correct output
2 3 4 5 6 1 1 
3 4 5 6 2 1 2 
4 5 6 2 3 1 3 
5 6 2 3 4 1 4 
6 2 3 4 5 1 5 
...

user output
1111111
2222222
3333333
4444444
5555566
...

Test 7

Group: 1

Verdict:

input
8

correct output
2 3 4 5 6 7 1 1 
3 4 5 6 7 2 1 2 
4 5 6 7 2 3 1 3 
5 6 7 2 3 4 1 4 
6 7 2 3 4 5 1 5 
...

user output
(empty)

Test 8

Group: 1

Verdict:

input
9

correct output
2 3 4 5 6 7 8 1 1 
3 4 5 6 7 8 2 1 2 
4 5 6 7 8 2 3 1 3 
5 6 7 8 2 3 4 1 4 
6 7 8 2 3 4 5 1 5 
...

user output
(empty)

Test 9

Group: 1

Verdict:

input
10

correct output
2 3 4 5 6 7 8 9 1 1 
3 4 5 6 7 8 9 2 1 2 
4 5 6 7 8 9 2 3 1 3 
5 6 7 8 9 2 3 4 1 4 
6 7 8 9 2 3 4 5 1 5 
...

user output
(empty)

Test 10

Group: 2

Verdict:

input
3

correct output
QAQ

user output
111
223
233

Test 11

Group: 2

Verdict:

input
4

correct output
3 4 3 4
3 1 1 2
4 4 3 2
2 2 1 1

user output
1111
2223
2343
4344

Test 12

Group: 2

Verdict:

input
29

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
(empty)

Test 13

Group: 2

Verdict:

input
48

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
(empty)

Test 14

Group: 2

Verdict:

input
80

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
(empty)

Test 15

Group: 2

Verdict:

input
97

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
(empty)

Test 16

Group: 3

Verdict:

input
3

correct output
QAQ

user output
111
223
233

Test 17

Group: 3

Verdict:

input
4

correct output
3 4 3 4
3 1 1 2
4 4 3 2
2 2 1 1

user output
1111
2223
2343
4344

Test 18

Group: 3

Verdict:

input
111

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
(empty)

Test 19

Group: 3

Verdict:

input
506

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
(empty)

Test 20

Group: 3

Verdict:

input
844

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
(empty)

Test 21

Group: 3

Verdict:

input
991

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
(empty)