CSES - Datatähti 2020 alku - Results
Submission details
Task:Ruudukko
Sender:Epe
Submission time:2019-10-04 18:48:18 +0300
Language:C++ (C++11)
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttime
#1ACCEPTED0.01 sdetails
#2ACCEPTED0.01 sdetails
#30.01 sdetails
#40.01 sdetails
#50.10 sdetails
#60.04 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:66:18: warning: variable 'found' set but not used [-Wunused-but-set-variable]
             bool found = false;
                  ^~~~~
input/code.cpp:83:18: warning: variable 'found' set but not used [-Wunused-but-set-variable]
             bool found = false;
                  ^~~~~

Code

#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
int table[n][n] = {0};
table[0][0] = 1;
vector<set<int>> columns(n);
vector<set<int>> rows(n);
/*
set<int> full;
for(int i = 1; i <= n; i++){
full.insert(i);
}*/
/*
set<int> dummy;
columns.push_back(dummy);
rows.push_back(dummy);*/
for(int x = 0; x < n; x++){
table[0][x] = x+1;
set<int> temp;
temp.insert(x+1);
columns.push_back(temp);
}
for(int y = 0; y < n; y++){
table[y][0] = y+1;
set<int> temp;
temp.insert(y+1);
rows.push_back(temp);
}
/*
for(int y = 0; y < n; y++){
for(int x = 0; x < n-y-1; x++){
set<int> no = rows[y];
set<int> col = columns[x];
no.insert(col.begin(), col.end());
bool found = false;
for(int i = 1; i <= n; i++){
if(no.find(i) == no.end()){
found = true;
rows[y].insert(i);
columns[x].insert(i);
table[y][x] = i;
break;
}
}
}
}*/
for(int i = 1; i < n; i++){
for(int x = 1; x < n; x++){
set<int> no = rows[i];
set<int> col = columns[x];
no.insert(col.begin(), col.end());
bool found = false;
for(int i = 1; i <= n; i++){
if(no.find(i) == no.end()){
found = true;
rows[i].insert(i);
columns[x].insert(i);
table[i][x] = i;
break;
}
}
}
for(int y = 1; y < n; y++){
set<int> no = rows[y];
set<int> col = columns[i];
no.insert(col.begin(), col.end());
bool found = false;
for(int i = 1; i <= n; i++){
if(no.find(i) == no.end()){
found = true;
rows[y].insert(i);
columns[i].insert(i);
table[y][i] = i;
break;
}
}
}
}
/*
for(int y = n-1; y > 0; y--){
for(int x = n-1; x > n-y-1; x--){
set<int> no = rows[y];
set<int> col = columns[x];
no.insert(col.begin(), col.end());
bool found = false;
for(int i = 1; i <= n; i++){
if(no.find(i) == no.end()){
found = true;
rows[y].insert(i);
columns[x].insert(i);
table[y][x] = i;
break;
}
}
}
}
*/
for(int y = 0; y < n; y++){
for(int x = 0; x < n; x++){
cout << table[y][x] << " ";
}
cout << endl;
}
}

Test details

Test 1

Verdict: ACCEPTED

input
1

correct output

user output

Test 2

Verdict: ACCEPTED

input
2

correct output
1 2 
2 1 

user output
1 2 
2 1 

Test 3

Verdict:

input
5

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

user output
1 2 3 4 5 
2 1 1 3 1 
5 0 2 3 4 
5 0 2 3 0 
5 4 4 4 0 

Test 4

Verdict:

input
42

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

user output
(empty)

Test 5

Verdict:

input
99

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

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...
Truncated

Test 6

Verdict:

input
100

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

user output
(empty)