CSES - Datatähti 2017 loppu - Results
Submission details
Task:Ruudukko
Sender:JesseNiininen
Submission time:2017-01-19 16:03:29 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.03 s1details
#2ACCEPTED0.04 s1details
#30.07 s1details
#40.05 s1details
#5--1details
#6--1details
#7--1details
#8--1details
#9--1details
#10ACCEPTED0.03 s2details
#110.07 s2details
#12--2details
#13--2details
#14--2details
#15--2details
#16ACCEPTED0.03 s3details
#170.07 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 = 0;
		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 = 0;
		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;
		}
	}
	cout << "QAQ";

}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
2

correct output
QAQ

user output
QAQ

Test 2

Group: 1

Verdict: ACCEPTED

input
3

correct output
QAQ

user output
QAQ

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
1112
1223
2344
3443

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
33345
33445
45554

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
(empty)

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
(empty)

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: ACCEPTED

input
3

correct output
QAQ

user output
QAQ

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
1112
1223
2344
3443

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: ACCEPTED

input
3

correct output
QAQ

user output
QAQ

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
1112
1223
2344
3443

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)