Task: | Robot |
Sender: | zscoder |
Submission time: | 2019-01-18 13:08:03 +0200 |
Language: | C++ |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | RUNTIME ERROR | 0 |
#2 | WRONG ANSWER | 0 |
#3 | WRONG ANSWER | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.02 s | 1 | details |
#2 | ACCEPTED | 0.01 s | 1 | details |
#3 | ACCEPTED | 0.02 s | 1 | details |
#4 | RUNTIME ERROR | 0.01 s | 1 | details |
#5 | RUNTIME ERROR | 0.02 s | 1 | details |
#6 | RUNTIME ERROR | 0.02 s | 1 | details |
#7 | RUNTIME ERROR | 0.02 s | 1 | details |
#8 | RUNTIME ERROR | 0.02 s | 1 | details |
#9 | ACCEPTED | 0.02 s | 2 | details |
#10 | ACCEPTED | 0.02 s | 2 | details |
#11 | ACCEPTED | 0.02 s | 2 | details |
#12 | WRONG ANSWER | 0.01 s | 2 | details |
#13 | ACCEPTED | 0.02 s | 2 | details |
#14 | TIME LIMIT EXCEEDED | -- | 2 | details |
#15 | WRONG ANSWER | 0.10 s | 2 | details |
#16 | TIME LIMIT EXCEEDED | -- | 2 | details |
#17 | TIME LIMIT EXCEEDED | -- | 2 | details |
#18 | ACCEPTED | 0.01 s | 3 | details |
#19 | ACCEPTED | 0.01 s | 3 | details |
#20 | ACCEPTED | 0.02 s | 3 | details |
#21 | WRONG ANSWER | 0.02 s | 3 | details |
#22 | ACCEPTED | 0.02 s | 3 | details |
#23 | TIME LIMIT EXCEEDED | -- | 3 | details |
#24 | WRONG ANSWER | 0.09 s | 3 | details |
#25 | TIME LIMIT EXCEEDED | -- | 3 | details |
#26 | TIME LIMIT EXCEEDED | -- | 3 | details |
#27 | RUNTIME ERROR | 0.03 s | 3 | details |
#28 | RUNTIME ERROR | 0.02 s | 3 | details |
#29 | RUNTIME ERROR | 0.02 s | 3 | details |
#30 | RUNTIME ERROR | 0.02 s | 3 | details |
#31 | RUNTIME ERROR | 0.02 s | 3 | details |
#32 | RUNTIME ERROR | 0.01 s | 3 | details |
#33 | RUNTIME ERROR | 0.02 s | 3 | details |
#34 | RUNTIME ERROR | 0.02 s | 3 | details |
#35 | RUNTIME ERROR | 0.01 s | 3 | details |
#36 | RUNTIME ERROR | 0.01 s | 3 | details |
#37 | RUNTIME ERROR | 0.02 s | 3 | details |
#38 | RUNTIME ERROR | 0.01 s | 3 | details |
#39 | RUNTIME ERROR | 0.01 s | 3 | details |
Code
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; #define fi first #define se second #define mp make_pair #define pb push_back typedef long long ll; typedef pair<ll,ll> ii; typedef vector<int> vi; typedef unsigned long long ull; typedef long double ld; typedef tree<ii, null_type, less<ii>, rb_tree_tag, tree_order_statistics_node_update> pbds; int a[111][111]; int dx[4] = {-1,0,1,0}; int dy[4] = {0,1,0,-1}; int n,m; int b[111][111]; bool valid(int x, int y) { return (x>=0&&x<n&&y>=0&&y<m); } bool vis[111][111]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>n>>m; assert(n>=2&&n<=6&&m>=2&&m<=6); if(n==2) { for(int i=0;i<m;i++) { if(i+1<m) cout<<"R"; else cout<<"G"; } cout<<'\n'; for(int i=0;i<m;i++) { if(i==0) cout<<"R"; else cout<<"B"; } cout<<'\n'; return 0; } if(n%4==0&&m%4==0) { cout<<"IMPOSSIBLE\n"; return 0; } ll p3=1; for(int i=0;i<n*m-1;i++) p3*=3; for(ll i=0;i<p3;i++) { ll bit=i; for(int j=0;j<n;j++) { for(int k=0;k<m;k++) { b[j][k]=a[j][k]=bit%3; bit/=3; } } memset(vis,0,sizeof(vis)); ii cur=mp(0,0); int dir=1; vis[cur.fi][cur.se]=1; int cnt=1; bool pos=1; for(int steps=0;steps<1000;steps++) { ii nw = mp(cur.fi+dx[dir],cur.se+dy[dir]); if(valid(nw.fi,nw.se)) { if(!vis[nw.fi][nw.se]) { vis[nw.fi][nw.se]=1; cnt++; } if(a[nw.fi][nw.se]!=a[cur.fi][cur.se]) { dir++; dir%=4; } a[cur.fi][cur.se]++; a[cur.fi][cur.se]%=3; cur=nw; } else { pos=0; break; } if(steps>=299){pos=0; break;} if(cnt==n*m&&cur.fi==0&&cur.se==0) break; } if(pos) { for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { cout<<b[i][j]; } cout<<'\n'; } return 0; } if(i%10000==0) cerr<<i<<" COMPLETE\n"; } }
Test details
Test 1
Group: 1
Verdict: ACCEPTED
input |
---|
2 2 |
correct output |
---|
RG GR |
user output |
---|
RG RB |
Test 2
Group: 1
Verdict: ACCEPTED
input |
---|
2 4 |
correct output |
---|
RRRG GRRR |
user output |
---|
RRRG RBBB |
Test 3
Group: 1
Verdict: ACCEPTED
input |
---|
2 6 |
correct output |
---|
RRRRRG GRRRRR |
user output |
---|
RRRRRG RBBBBB |
Test 4
Group: 1
Verdict: RUNTIME ERROR
input |
---|
2 10 |
correct output |
---|
RRRRRRRRRG GRRRRRRRRR |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 5
Group: 1
Verdict: RUNTIME ERROR
input |
---|
2 50 |
correct output |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 6
Group: 1
Verdict: RUNTIME ERROR
input |
---|
2 80 |
correct output |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 7
Group: 1
Verdict: RUNTIME ERROR
input |
---|
2 98 |
correct output |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 8
Group: 1
Verdict: RUNTIME ERROR
input |
---|
2 100 |
correct output |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 9
Group: 2
Verdict: ACCEPTED
input |
---|
2 2 |
correct output |
---|
RG GR |
user output |
---|
RG RB |
Test 10
Group: 2
Verdict: ACCEPTED
input |
---|
2 4 |
correct output |
---|
RRRG GRRR |
user output |
---|
RRRG RBBB |
Test 11
Group: 2
Verdict: ACCEPTED
input |
---|
2 6 |
correct output |
---|
RRRRRG GRRRRR |
user output |
---|
RRRRRG RBBBBB |
Test 12
Group: 2
Verdict: WRONG ANSWER
input |
---|
4 2 |
correct output |
---|
RG GG GG GR |
user output |
---|
01 11 11 10 |
Error:
0 COMPLETE
Test 13
Group: 2
Verdict: ACCEPTED
input |
---|
4 4 |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 14
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
4 6 |
correct output |
---|
RRRRRG GBGRGG GGRBRG GRRBRR |
user output |
---|
(empty) |
Test 15
Group: 2
Verdict: WRONG ANSWER
input |
---|
6 2 |
correct output |
---|
RG GG GG GG GG ... |
user output |
---|
01 11 11 11 11 ... |
Error:
0 COMPLETE 10000 COMPLETE 20000 COMPLETE 30000 COMPLETE 40000 COMPLETE 50000 COMPLETE 6000...
Test 16
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
6 4 |
correct output |
---|
RRRG RGBG RRGG BBGG GRBG ... |
user output |
---|
(empty) |
Test 17
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
6 6 |
correct output |
---|
RRRRRG GBGRBG GGGBBG GGGBBG GGRBRG ... |
user output |
---|
(empty) |
Test 18
Group: 3
Verdict: ACCEPTED
input |
---|
2 2 |
correct output |
---|
RG GR |
user output |
---|
RG RB |
Test 19
Group: 3
Verdict: ACCEPTED
input |
---|
2 4 |
correct output |
---|
RRRG GRRR |
user output |
---|
RRRG RBBB |
Test 20
Group: 3
Verdict: ACCEPTED
input |
---|
2 6 |
correct output |
---|
RRRRRG GRRRRR |
user output |
---|
RRRRRG RBBBBB |
Test 21
Group: 3
Verdict: WRONG ANSWER
input |
---|
4 2 |
correct output |
---|
RG GG GG GR |
user output |
---|
01 11 11 10 |
Error:
0 COMPLETE
Test 22
Group: 3
Verdict: ACCEPTED
input |
---|
4 4 |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 23
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
4 6 |
correct output |
---|
RRRRRG GBGRGG GGRBRG GRRBRR |
user output |
---|
(empty) |
Test 24
Group: 3
Verdict: WRONG ANSWER
input |
---|
6 2 |
correct output |
---|
RG GG GG GG GG ... |
user output |
---|
01 11 11 11 11 ... |
Error:
0 COMPLETE 10000 COMPLETE 20000 COMPLETE 30000 COMPLETE 40000 COMPLETE 50000 COMPLETE 6000...
Test 25
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
6 4 |
correct output |
---|
RRRG RGBG RRGG BBGG GRBG ... |
user output |
---|
(empty) |
Test 26
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
6 6 |
correct output |
---|
RRRRRG GBGRBG GGGBBG GGGBBG GGRBRG ... |
user output |
---|
(empty) |
Test 27
Group: 3
Verdict: RUNTIME ERROR
input |
---|
2 100 |
correct output |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 28
Group: 3
Verdict: RUNTIME ERROR
input |
---|
4 20 |
correct output |
---|
RRRRRRRRRRRRRRRRRRRG GBBBBBBBBBBBBBBBGRGG GGRRRRRRRRRRRRRRRBRG GRRRRRRRRRRRRRRRRBRR |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 29
Group: 3
Verdict: RUNTIME ERROR
input |
---|
4 100 |
correct output |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 30
Group: 3
Verdict: RUNTIME ERROR
input |
---|
10 10 |
correct output |
---|
RRRRRRRRRG GBGRBBGRBG GGGBBGGBBG GGGBBGGBBG GGGBBGGBBG ... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 31
Group: 3
Verdict: RUNTIME ERROR
input |
---|
12 12 |
correct output |
---|
RRRRRRRRRRRG RGBBGRBBGRBG RRBGGBBGGBBG RRBGGBBGGBBG RRBGGBBGGBBG ... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 32
Group: 3
Verdict: RUNTIME ERROR
input |
---|
10 12 |
correct output |
---|
RRRRRRRRRRRG RGBBGRBBGRBG RRBGGBBGGBBG RRBGGBBGGBBG RRBGGBBGGBBG ... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 33
Group: 3
Verdict: RUNTIME ERROR
input |
---|
12 10 |
correct output |
---|
RRRRRRRRRG GBGRBBGRBG GGGBBGGBBG GGGBBGGBBG GGGBBGGBBG ... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 34
Group: 3
Verdict: RUNTIME ERROR
input |
---|
10 90 |
correct output |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 35
Group: 3
Verdict: RUNTIME ERROR
input |
---|
90 10 |
correct output |
---|
RRRRRRRRRG GBGRBBGRBG GGGBBGGBBG GGGBBGGBBG GGGBBGGBBG ... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 36
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100 100 |
correct output |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 37
Group: 3
Verdict: RUNTIME ERROR
input |
---|
98 100 |
correct output |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 38
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100 98 |
correct output |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.
Test 39
Group: 3
Verdict: RUNTIME ERROR
input |
---|
98 98 |
correct output |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
user output |
---|
(empty) |
Error:
code: input/code.cpp:36: int main(): Assertion `n>=2&&n<=6&&m>=2&&m<=6' failed.