CSES - Datatähti 2020 alku - Results
Submission details
Task:Ruudukko
Sender:Epe
Submission time:2019-10-08 18:42:15 +0300
Language: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.01 sdetails
#60.01 sdetails

Code

#include <bits/stdc++.h>
using namespace std;

int main(){
    int size;
    cin >> size;
    int grid[size][size] = {0};

    for(int y = 0; y < size; y++){
        for(int x = 0; x < size; x++){
            grid[y][x] = x+1;
        }
    }

    for(int y = 1; y < size; y++){
        for(int x = 1; x < size; x++){
            bool swap = false;

            for(int yy = y; yy >= 0; yy--){
                if(grid[yy][x] == grid[y][x]){
                    swap = true;
                    break;
                }
            }

            if(!swap){
                for(int xx = x; xx >= 0; xx--){
                    if(grid[y][xx] == grid[y][x]){
                        swap = true;
                        break;
                    }
                }
            }

            if(swap){
                for(int i = 0; i < size; i++){

                    bool canswap = true;

                    for(int yy = y; yy >= 0; yy--){
                        if(grid[yy][i] == grid[y][x]){
                            canswap = false;
                            break;
                        }
                    }

                    if(canswap){
                        int temp = grid[y][x];
                        grid[y][x] = grid[y][i];
                        grid[y][i] = temp;
                        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

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 
5 1 2 3 4 
4 5 2 3 1 
3 4 5 1 2 
2 3 4 5 1 

Test 4

Verdict:

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 ...

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 ...

Test 6

Verdict:

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 ...