| Task: | Ruudukko |
| Sender: | Epe |
| Submission time: | 2019-10-08 20:20:40 +0300 |
| Language: | C++ (C++11) |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 100 |
| 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 | ACCEPTED | 0.03 s | details |
| #6 | ACCEPTED | 0.03 s | details |
Code
#include <bits/stdc++.h>
using namespace std;
int main(){
int size;
cin >> size;
short grid[size][size] = {0};
vector<set<short>> rivit(size-1);
vector<set<short>> sarakkeet(size-1);
for(int i = 0; i < size; i++){
grid[i][0] = i+1;
grid[0][i] = i+1;
if(i > 0) {
set<short> temp;
temp.insert(i + 1);
temp.insert(1);
rivit[i-1] = temp;
sarakkeet[i-1] = temp;
}
}
for(int i = 1; i < size; i++){
grid[i][i] = 1;
for(int p = i+1; p < size; p++){
int x1 = i;
int y1 = p;
int x2 = p;
int y2 = i;
for(int n = 1; n <= size*2; n++){
if(sarakkeet[x1-1].find(n) == sarakkeet[x1-1].end() && rivit[y1-1].find(n) == rivit[y1-1].end()){
grid[y1][x1] = n;
sarakkeet[x1-1].insert(n);
rivit[y1-1].insert(n);
break;
}
}
for(int n = 1; n <= size*2; n++){
if(sarakkeet[x2-1].find(n) == sarakkeet[x2-1].end() && rivit[y2-1].find(n) == rivit[y2-1].end()){
grid[y2][x2] = n;
sarakkeet[x2-1].insert(n);
rivit[y2-1].insert(n);
break;
}
}
}
}
for(int y = 0; y < size; y++){
for(int x = 0; x < size; x++){
cout << grid[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: ACCEPTED
| 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: ACCEPTED
| 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 |
