CSES - Datatähti Open 2019 - Results
Submission details
Task:Robot
Sender:ainta1
Submission time:2019-01-19 10:16:03 +0200
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED12
#2ACCEPTED32
#3ACCEPTED56
Test results
testverdicttimegroup
#1ACCEPTED0.02 s1details
#2ACCEPTED0.02 s1details
#3ACCEPTED0.01 s1details
#4ACCEPTED0.02 s1details
#5ACCEPTED0.02 s1details
#6ACCEPTED0.02 s1details
#7ACCEPTED0.01 s1details
#8ACCEPTED0.01 s1details
#9ACCEPTED0.01 s2details
#10ACCEPTED0.01 s2details
#11ACCEPTED0.02 s2details
#12ACCEPTED0.01 s2details
#13ACCEPTED0.01 s2details
#14ACCEPTED0.01 s2details
#15ACCEPTED0.02 s2details
#16ACCEPTED0.01 s2details
#17ACCEPTED0.03 s2details
#18ACCEPTED0.01 s3details
#19ACCEPTED0.01 s3details
#20ACCEPTED0.01 s3details
#21ACCEPTED0.01 s3details
#22ACCEPTED0.01 s3details
#23ACCEPTED0.02 s3details
#24ACCEPTED0.01 s3details
#25ACCEPTED0.02 s3details
#26ACCEPTED0.01 s3details
#27ACCEPTED0.01 s3details
#28ACCEPTED0.01 s3details
#29ACCEPTED0.02 s3details
#30ACCEPTED0.01 s3details
#31ACCEPTED0.01 s3details
#32ACCEPTED0.01 s3details
#33ACCEPTED0.01 s3details
#34ACCEPTED0.02 s3details
#35ACCEPTED0.02 s3details
#36ACCEPTED0.01 s3details
#37ACCEPTED0.01 s3details
#38ACCEPTED0.01 s3details
#39ACCEPTED0.01 s3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:127:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &n, &m);
  ~~~~~^~~~~~~~~~~~~~~~

Code

#include<cstdio>
int n, m;
void Print(int a, char c) {
	int i;
	for (i = 0; i < a; i++)printf("%c", c);
}
void Do1() {
	int i;
	Print(m - 1, 'R');
	Print(1, 'G');
	puts("");
	for (i = 1; i <= n / 4; i++) {
		Print(1, 'B');
		Print(m-3, 'R');
		Print(1, 'B');
		Print(1, 'G');
		puts("");
		Print(2, 'B');
		Print(m-3, 'R');
		Print(1, 'G');
		puts("");
		Print(m-2, 'G');
		Print(1, 'B');
		Print(1, 'G');
		puts("");
		Print(2, 'B');
		Print(m - 3, 'G');
		Print(1, 'G');
		puts("");
	}
	Print(1, 'B');
	Print(m - 1, 'R');
	puts("");
}
void Do3() {
	Print(2, 'R');
	Print(1, 'B');
	Print(m - 4, 'R');
	Print(1, 'G');
	puts("");
	Print(1, 'G');
	Print(1, 'R');
	Print(1, 'B');
	Print(m-5, 'R');
	Print(2, 'G');
	puts("");
	Print(1, 'G');
	Print(1, 'B');
	Print(1, 'R');
	Print(1, 'G');
	Print(m-5, 'R');
	Print(1, 'G');
	puts("");
	Print(1, 'G');
	Print(m-1, 'R');
	puts("");
}
void Do4() {
	puts("RRRG");
	puts("RBGG");
	puts("RGBG");
	puts("RRGG");
	for (int i = 0; i < n - 6; i++) {
		puts("GGGG");
	}
	puts("GGRG");
	puts("GRRR");
}
void Do5() {
	Print(m - 1, 'R');
	Print(1, 'G');
	puts("");
	int i;
	for (i = 1; i <= n / 4 - 2; i++) {
		Print(1, 'G');
		Print(m - 3, 'B');
		Print(2, 'G');
		puts("");
		Print(2, 'G');
		Print(m - 3, 'B');
		Print(1, 'G');
		puts("");
		Print(m - 2, 'R');
		Print(2, 'G');
		puts("");
		Print(2, 'G');
		Print(m - 3, 'R');
		Print(1, 'G');
		puts("");
	}
	Print(1, 'G');
	Print(m - 3, 'R');
	Print(1, 'B');
	Print(1, 'G');
	puts("");
	Print(1, 'G');
	Print(1, 'B');
	Print(m - 3, 'R');
	Print(1, 'G');
	puts("");
	Print(m - 4, 'G');
	Print(2, 'B');
	Print(2, 'G');
	puts("");
	Print(1, 'R');
	Print(1, 'B');
	Print(m - 2, 'G');
	puts("");
	Print(1, 'R');
	Print(m - 5, 'B');
	Print(1, 'R');
	Print(3, 'G');
	puts("");
	Print(2, 'R');
	Print(m - 5, 'B');
	Print(1, 'G');
	Print(1, 'B');
	Print(1, 'G');
	puts("");
	Print(1, 'R');
	Print(m - 3, 'G');
	Print(2, 'R');
	puts("");
}
int main() {
	int i;
	scanf("%d%d", &n, &m);
	if (n == 2) {
		Print(m - 1, 'R');
		Print(1, 'B');
		puts("");
		Print(1, 'B');
		Print(m - 1, 'G');
		puts("");
	}
	else if (m == 2) {
		puts("RB");
		for (i = 2; i <= n - 1; i++) {
			puts("BB");
		}
		puts("BG");
	}
	else if (n % 4 == 2) {
		Do1();
	}
	else if (n == 4 && m >= 6) {
		Do3();
	}
	else if (m == 4 && n >= 6) {
		Do4();
	}
	else if (n >= 8 && m >= 6) {
		Do5();
	}
	else {
		puts("IMPOSSIBLE");
	}
}
/*
#include<cstdio>
#include<algorithm>
using namespace std;
int vis[110][110][4], n, m, vv[110][110], i, j, Res[1100][2];
int dx[4] = { 0,1,0,-1 }, dy[4] = { 1,0,-1,0 };
bool DFS(int x, int y, int dir, int dep) {
	vv[x][y]++;
	Res[dep][0] = x, Res[dep][1] = y;
	int nx = x + dx[dir], ny = y + dy[dir];
	if (nx == 1 && ny == 1) {
		int ck = 0;
		for (i = 1; i <= n; i++)for (j = 1; j <= m; j++)if (!vv[i][j])ck = 1;
		if (!ck) {
			puts("??");

			for (i = 1; i <= n; i++) {
				for (j = 1; j < m; j++) {
					printf("+");
					if (vis[i][j][0])printf("-");
					else printf(" ");
				}
				printf("+");
				puts("");
				if (i != n) {
					for (j = 1; j <= m; j++) {
						if (vis[i][j][1])printf("|");
						else printf(" ");
						printf(" ");
					}
					puts("");
				}
			}

			puts("??");
			vv[x][y]--;
			return true;
		}
	}
	if (nx<1 || nx>n || ny<1 || ny>m) {
		vv[x][y]--;
		return false;
	}
	if (vis[x][y][dir] || vis[nx][ny][(dir + 2) % 4]) {
		vv[x][y]--;
		return false;
	}
	vis[x][y][dir] = 1;
	vis[nx][ny][(dir + 2) % 4] = 1;
	DFS(nx, ny, dir, dep + 1);
	DFS(nx, ny, (dir + 1) % 4, dep + 1);
	vis[x][y][dir] = 0;
	vis[nx][ny][(dir + 2) % 4] = 0;
	vv[x][y]--;
	return false;
}
int main() {
	freopen("output.txt", "w", stdout);
	int i, j;
	scanf("%d%d", &n, &m);
	DFS(1, 1, 0, 0);
}*/

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
2 2

correct output
RG
GR

user output
RB
BG

Test 2

Group: 1

Verdict: ACCEPTED

input
2 4

correct output
RRRG
GRRR

user output
RRRB
BGGG

Test 3

Group: 1

Verdict: ACCEPTED

input
2 6

correct output
RRRRRG
GRRRRR

user output
RRRRRB
BGGGGG

Test 4

Group: 1

Verdict: ACCEPTED

input
2 10

correct output
RRRRRRRRRG
GRRRRRRRRR

user output
RRRRRRRRRB
BGGGGGGGGG

Test 5

Group: 1

Verdict: ACCEPTED

input
2 50

correct output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...
Truncated

Test 6

Group: 1

Verdict: ACCEPTED

input
2 80

correct output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...
Truncated

Test 7

Group: 1

Verdict: ACCEPTED

input
2 98

correct output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...
Truncated

Test 8

Group: 1

Verdict: ACCEPTED

input
2 100

correct output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...
Truncated

Test 9

Group: 2

Verdict: ACCEPTED

input
2 2

correct output
RG
GR

user output
RB
BG

Test 10

Group: 2

Verdict: ACCEPTED

input
2 4

correct output
RRRG
GRRR

user output
RRRB
BGGG

Test 11

Group: 2

Verdict: ACCEPTED

input
2 6

correct output
RRRRRG
GRRRRR

user output
RRRRRB
BGGGGG

Test 12

Group: 2

Verdict: ACCEPTED

input
4 2

correct output
RG
GG
GG
GR

user output
RB
BB
BB
BG

Test 13

Group: 2

Verdict: ACCEPTED

input
4 4

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 14

Group: 2

Verdict: ACCEPTED

input
4 6

correct output
RRRRRG
GBGRGG
GGRBRG
GRRBRR

user output
RRBRRG
GRBRGG
GBRGRG
GRRRRR

Test 15

Group: 2

Verdict: ACCEPTED

input
6 2

correct output
RG
GG
GG
GG
GG
...

user output
RB
BB
BB
BB
BB
...

Test 16

Group: 2

Verdict: ACCEPTED

input
6 4

correct output
RRRG
RGBG
RRGG
BBGG
GRBG
...

user output
RRRG
BRBG
BBRG
GGBG
BBGG
...

Test 17

Group: 2

Verdict: ACCEPTED

input
6 6

correct output
RRRRRG
GBGRBG
GGGBBG
GGGBBG
GGRBRG
...

user output
RRRRRG
BRRRBG
BBRRRG
GGGGBG
BBGGGG
...

Test 18

Group: 3

Verdict: ACCEPTED

input
2 2

correct output
RG
GR

user output
RB
BG

Test 19

Group: 3

Verdict: ACCEPTED

input
2 4

correct output
RRRG
GRRR

user output
RRRB
BGGG

Test 20

Group: 3

Verdict: ACCEPTED

input
2 6

correct output
RRRRRG
GRRRRR

user output
RRRRRB
BGGGGG

Test 21

Group: 3

Verdict: ACCEPTED

input
4 2

correct output
RG
GG
GG
GR

user output
RB
BB
BB
BG

Test 22

Group: 3

Verdict: ACCEPTED

input
4 4

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 23

Group: 3

Verdict: ACCEPTED

input
4 6

correct output
RRRRRG
GBGRGG
GGRBRG
GRRBRR

user output
RRBRRG
GRBRGG
GBRGRG
GRRRRR

Test 24

Group: 3

Verdict: ACCEPTED

input
6 2

correct output
RG
GG
GG
GG
GG
...

user output
RB
BB
BB
BB
BB
...

Test 25

Group: 3

Verdict: ACCEPTED

input
6 4

correct output
RRRG
RGBG
RRGG
BBGG
GRBG
...

user output
RRRG
BRBG
BBRG
GGBG
BBGG
...

Test 26

Group: 3

Verdict: ACCEPTED

input
6 6

correct output
RRRRRG
GBGRBG
GGGBBG
GGGBBG
GGRBRG
...

user output
RRRRRG
BRRRBG
BBRRRG
GGGGBG
BBGGGG
...

Test 27

Group: 3

Verdict: ACCEPTED

input
2 100

correct output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...
Truncated

Test 28

Group: 3

Verdict: ACCEPTED

input
4 20

correct output
RRRRRRRRRRRRRRRRRRRG
GBBBBBBBBBBBBBBBGRGG
GGRRRRRRRRRRRRRRRBRG
GRRRRRRRRRRRRRRRRBRR

user output
RRBRRRRRRRRRRRRRRRRG
GRBRRRRRRRRRRRRRRRGG
GBRGRRRRRRRRRRRRRRRG
GRRRRRRRRRRRRRRRRRRR

Test 29

Group: 3

Verdict: ACCEPTED

input
4 100

correct output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
RRBRRRRRRRRRRRRRRRRRRRRRRRRRRR...
Truncated

Test 30

Group: 3

Verdict: ACCEPTED

input
10 10

correct output
RRRRRRRRRG
GBGRBBGRBG
GGGBBGGBBG
GGGBBGGBBG
GGGBBGGBBG
...

user output
RRRRRRRRRG
BRRRRRRRBG
BBRRRRRRRG
GGGGGGGGBG
BBGGGGGGGG
...
Truncated

Test 31

Group: 3

Verdict: ACCEPTED

input
12 12

correct output
RRRRRRRRRRRG
RGBBGRBBGRBG
RRBGGBBGGBBG
RRBGGBBGGBBG
RRBGGBBGGBBG
...

user output
RRRRRRRRRRRG
GBBBBBBBBBGG
GGBBBBBBBBBG
RRRRRRRRRRGG
GGRRRRRRRRRG
...
Truncated

Test 32

Group: 3

Verdict: ACCEPTED

input
10 12

correct output
RRRRRRRRRRRG
RGBBGRBBGRBG
RRBGGBBGGBBG
RRBGGBBGGBBG
RRBGGBBGGBBG
...

user output
RRRRRRRRRRRG
BRRRRRRRRRBG
BBRRRRRRRRRG
GGGGGGGGGGBG
BBGGGGGGGGGG
...
Truncated

Test 33

Group: 3

Verdict: ACCEPTED

input
12 10

correct output
RRRRRRRRRG
GBGRBBGRBG
GGGBBGGBBG
GGGBBGGBBG
GGGBBGGBBG
...

user output
RRRRRRRRRG
GBBBBBBBGG
GGBBBBBBBG
RRRRRRRRGG
GGRRRRRRRG
...
Truncated

Test 34

Group: 3

Verdict: ACCEPTED

input
10 90

correct output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...
Truncated

Test 35

Group: 3

Verdict: ACCEPTED

input
90 10

correct output
RRRRRRRRRG
GBGRBBGRBG
GGGBBGGBBG
GGGBBGGBBG
GGGBBGGBBG
...

user output
RRRRRRRRRG
BRRRRRRRBG
BBRRRRRRRG
GGGGGGGGBG
BBGGGGGGGG
...
Truncated

Test 36

Group: 3

Verdict: ACCEPTED

input
100 100

correct output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...
Truncated

Test 37

Group: 3

Verdict: ACCEPTED

input
98 100

correct output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...
Truncated

Test 38

Group: 3

Verdict: ACCEPTED

input
100 98

correct output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...
Truncated

Test 39

Group: 3

Verdict: ACCEPTED

input
98 98

correct output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...
Truncated