| Task: | Ruudukko |
| Sender: | Epe |
| Submission time: | 2019-10-04 19:20:49 +0300 |
| Language: | C++ (C++11) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.01 s | details |
| #2 | ACCEPTED | 0.01 s | details |
| #3 | ACCEPTED | 0.01 s | details |
| #4 | ACCEPTED | 0.01 s | details |
| #5 | WRONG ANSWER | 0.05 s | details |
| #6 | WRONG ANSWER | 0.05 s | details |
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[x] = temp;
//cout << "add x " << (x+1) << endl;
}
for(int y = 0; y < n; y++){
table[y][0] = y+1;
set<int> temp;
temp.insert(y+1);
rows[y] = temp;
// cout << "add y " << (y+1) << endl;
}
/*
cout << "columns: " << endl;
for(set<int> setti : columns){
cout << "start" << endl;
for(int i : setti){
cout << i << endl;
}
cout << "end" << endl;
}
cout << "rows: " << endl;
for(set<int> setti : rows){
cout << "start" << endl;
for(int i : setti){
cout << i << endl;
}
cout << "end" << endl;
}
*/
for(int l = 1; l < n; l++){
for(int x = l; x < n; x++){
set<int> col = columns[x];
set<int> row = rows[l];
for(int i = 1; i <= 100; i++){
if(col.find(i) == col.end() && row.find(i) == row.end()){
rows[l].insert(i);
columns[x].insert(i);
table[l][x] = i;
break;
}
}
}
for(int y = l+1; y < n; y++){
set<int> col = columns[l];
set<int> row = rows[y];
for(int i = 1; i <= 100; i++){
if(col.find(i) == col.end() && row.find(i) == row.end()){
rows[y].insert(i);
columns[l].insert(i);
table[y][l] = i;
break;
}
}
}
}
/*
cout << "columns: " << endl;
for(set<int> setti : columns){
cout << "start" << endl;
for(int i : setti){
cout << i << endl;
}
cout << "end" << endl;
}
cout << "rows: " << endl;
for(set<int> setti : rows){
cout << "start" << endl;
for(int i : setti){
cout << i << endl;
}
cout << "end" << endl;
}
*/
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 |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 2 |
| correct output |
|---|
| 1 2 2 1 |
| user output |
|---|
| 1 2 2 1 |
Test 3
Verdict: ACCEPTED
| 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 4 3 6 3 4 1 2 7 4 3 2 1 8 5 6 7 8 1 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 42 |
| 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 5
Verdict: WRONG ANSWER
| 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: WRONG ANSWER
| input |
|---|
| 100 |
| 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 |
