Submission details
Task:Coloring cube
Sender:aalto26ew_009
Submission time:2026-09-30 16:56:03 +0300
Language:C++ (C++20)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.02 sdetails
#6ACCEPTED0.02 sdetails
#7ACCEPTED0.03 sdetails
#8ACCEPTED0.10 sdetails
#9ACCEPTED0.11 sdetails
#10ACCEPTED0.12 sdetails

Code

#include <iostream>
#include <vector>
#include <queue>

using namespace std;
int getNextColor(int n){
    if (n==3){
        return 1;
    } else {
        return n+1;
    }
}

char getLetter(int n){
    if (n==1){
        return 'R';
    } else if (n==2){
        return 'G';
    } else {
        return 'B';
    }
}

int main(){
    int n;
    cin >> n;
    vector<vector<vector<int>>> cube(n, vector<vector<int>>(n, vector<int>(n,0)));

    queue<vector<int>> q;
    cube[0][0][0]=1;

    q.push({0,0,0});
    while (!q.empty()){
        auto curr=q.front();
        q.pop();
        /*
        q.pop();
        for (const auto& a: curr){
            cout << a << ' ';
        }*/
        //cout << '\n';
        int x=curr[0], y=curr[1], z=curr[2]; 
        //cout << x << y << z << '\n';
        if (x<n-1 && cube[x+1][y][z]==0){
            cube[x+1][y][z]=getNextColor(cube[x][y][z]);
            q.push({x+1,y,z});
        }
        if (y<n-1 && cube[x][y+1][z]==0){
            cube[x][y+1][z]=getNextColor(cube[x][y][z]);
            q.push({x,y+1,z});
        }

        if (z<n-1 && cube[x][y][z+1]==0){
            cube[x][y][z+1]=getNextColor(cube[x][y][z]);
            q.push({x,y,z+1});
        }
    }

    for (int i=0;i<n;i++){
        for (int j=0;j<n;j++){
            for (int k=0;k<n;k++){
                cout << getLetter(cube[i][j][k]) << ' ';
            }
            cout << '\n';
        }
        cout << '\n';
    }

    return 0;

}

Test details

Test 1

Verdict: ACCEPTED

input
3

correct output
R G B 
G B R 
B R G 

G B R 
...

user output
R G B 
G B R 
B R G 

G B R 
...

Test 2

Verdict: ACCEPTED

input
5

correct output
R G B R G 
G B R G B 
B R G B R 
R G B R G 
G B R G B 
...

user output
R G B R G 
G B R G B 
B R G B R 
R G B R G 
G B R G B 
...

Test 3

Verdict: ACCEPTED

input
6

correct output
R G B R G B 
G B R G B R 
B R G B R G 
R G B R G B 
G B R G B R 
...

user output
R G B R G B 
G B R G B R 
B R G B R G 
R G B R G B 
G B R G B R 
...

Test 4

Verdict: ACCEPTED

input
10

correct output
R G B R G B R G B R 
G B R G B R G B R G 
B R G B R G B R G B 
R G B R G B R G B R 
G B R G B R G B R G 
...

user output
R G B R G B R G B R 
G B R G B R G B R G 
B R G B R G B R G B 
R G B R G B R G B R 
G B R G B R G B R G 
...

Test 5

Verdict: ACCEPTED

input
50

correct output
R G B R G B R G B R G B R G B ...

user output
R G B R G B R G B R G B R G B ...

Test 6

Verdict: ACCEPTED

input
53

correct output
R G B R G B R G B R G B R G B ...

user output
R G B R G B R G B R G B R G B ...

Test 7

Verdict: ACCEPTED

input
63

correct output
R G B R G B R G B R G B R G B ...

user output
R G B R G B R G B R G B R G B ...

Test 8

Verdict: ACCEPTED

input
95

correct output
R G B R G B R G B R G B R G B ...

user output
R G B R G B R G B R G B R G B ...

Test 9

Verdict: ACCEPTED

input
99

correct output
R G B R G B R G B R G B R G B ...

user output
R G B R G B R G B R G B R G B ...

Test 10

Verdict: ACCEPTED

input
100

correct output
R G B R G B R G B R G B R G B ...

user output
R G B R G B R G B R G B R G B ...