CSES - Datatähti 2020 alku - Results
Submission details
Task:Ruudukko
Sender:matskuman5
Submission time:2019-10-12 13:46:24 +0300
Language:Java
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.12 sdetails
#2ACCEPTED0.12 sdetails
#3ACCEPTED0.13 sdetails
#4ACCEPTED0.14 sdetails
#5ACCEPTED0.29 sdetails
#6ACCEPTED0.29 sdetails

Code

import java.util.Scanner;

public class Datatahti {

    public static void main(String[] args) {
        
        Scanner lukija = new Scanner(System.in);
        
        int n = Integer.valueOf(lukija.nextLine());
        
        int[][] ruudukko = new int[n][n];
        int lisattavaNumero = 1;
        
        
        for (int rivi = 0; rivi < n; rivi++) {
            
            for (int sarake = 0; sarake < n; sarake++) {
                
                if (rivi == 0 && sarake == 0) {
                    ruudukko[rivi][0] = 1;
                    continue;
                }
                
                while (true) {
                    boolean reset = false;
                    
                    for (int s = 0; s < sarake; s++) {
                        if (lisattavaNumero == ruudukko[rivi][s]) {
                            reset = true;
                        }
                    }
                    
                    if (rivi > 0) {
                        for (int r = 0; r < rivi; r++) {
                            if (lisattavaNumero == ruudukko[r][sarake]) {
                                reset = true;
                            }
                        }
                    }
                    
                    if (reset) {
                        lisattavaNumero++;
                    } else {
                        break;
                    }
                }
                
                ruudukko[rivi][sarake] = lisattavaNumero++;
                
                lisattavaNumero = 1;
                
            }
            
            
        }
        
        
        StringBuilder rakentaja;
        
        for (int rivi = 0; rivi < n; rivi++) {
            rakentaja = new StringBuilder();
            for (int sarake = 0; sarake < n; sarake++) {
                rakentaja.append(ruudukko[rivi][sarake]);
                rakentaja.append(" ");
            }
            System.out.println(rakentaja.toString());
        }
        
    }
    
}

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

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

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