Submission #824124

# Submission time Handle Problem Language Result Execution time Memory
824124 2023-08-13T14:41:19 Z rainboy Flip it and Stick it (CCO23_day2problem1) C
18 / 25
5 ms 600 KB
#include <stdio.h>
#include <string.h>

#define N	200000

int main() {
	static char aa[N + 1], bb[4];
	int n, m, k, i, j, d;
	char tmp;

	scanf("%s%s", aa, bb), n = strlen(aa), m = strlen(bb);
	if (m == 1) {
		for (i = 0; i < n; i++)
			if (aa[i] == bb[0]) {
				printf("-1\n");
				return 0;
			}
		printf("0\n");
	} else if (m == 2) {
		if (bb[0] != bb[1]) {
			k = 0;
			for (i = -1; i < n; i++)
				if ((i < 0 ? bb[1] : aa[i]) != (i + 1 == n ? bb[0] : aa[i + 1]))
					k++;
			printf("%d\n", k / 2);
		} else {
			k = 0;
			for (i = -1; i < n; i++)
				if (aa[i] == bb[0] && aa[i + 1] == bb[0])
					k++;
			d = 0;
			for (i = 0; i < n; i++)
				d += aa[i] == bb[0] ? 1 : -1;
			printf("%d\n", d > 1 ? -1 : k);
		}
	} else {
		if (bb[0] != bb[2]) {
			if (bb[0] == bb[1]) {
				for (i = 0, j = n - 1; i < j; i++, j--)
					tmp = aa[i], aa[i] = aa[j], aa[j] = tmp;
				tmp = bb[0], bb[0] = bb[2], bb[2] = tmp;
			}
			k = 0;
			for (i = 0; i + 2 < n; i++)
				if (aa[i] == bb[0] && aa[i + 1] == bb[1] && aa[i + 2] == bb[2])
					k++;
			printf("%d\n", k);
		} else if (bb[0] != bb[1]) {
			k = 0;
			for (i = 0; i + 2 < n; i++)
				if (aa[i] == bb[0] && aa[i + 1] == bb[1] && aa[i + 2] == bb[2])
					k++;
			printf("%d\n", (k + 1) / 2);
		}
	}
	return 0;
}

Compilation message

Main.c: In function 'main':
Main.c:11:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |  scanf("%s%s", aa, bb), n = strlen(aa), m = strlen(bb);
      |  ^~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 468 KB Output is correct
4 Correct 1 ms 468 KB Output is correct
5 Correct 1 ms 468 KB Output is correct
6 Correct 1 ms 468 KB Output is correct
7 Correct 1 ms 468 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 468 KB Output is correct
7 Correct 1 ms 468 KB Output is correct
8 Correct 1 ms 468 KB Output is correct
9 Correct 2 ms 468 KB Output is correct
10 Correct 2 ms 468 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 468 KB Output is correct
7 Correct 1 ms 468 KB Output is correct
8 Correct 1 ms 468 KB Output is correct
9 Correct 2 ms 468 KB Output is correct
10 Correct 2 ms 468 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 0 ms 212 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 1 ms 468 KB Output is correct
21 Correct 1 ms 468 KB Output is correct
22 Correct 1 ms 468 KB Output is correct
23 Correct 2 ms 468 KB Output is correct
24 Correct 2 ms 468 KB Output is correct
25 Correct 0 ms 212 KB Output is correct
26 Correct 1 ms 468 KB Output is correct
27 Correct 2 ms 468 KB Output is correct
28 Correct 2 ms 468 KB Output is correct
29 Correct 1 ms 468 KB Output is correct
30 Correct 1 ms 468 KB Output is correct
31 Correct 2 ms 468 KB Output is correct
32 Correct 2 ms 468 KB Output is correct
33 Correct 0 ms 212 KB Output is correct
34 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 1 ms 468 KB Output is correct
8 Correct 1 ms 468 KB Output is correct
9 Correct 2 ms 468 KB Output is correct
10 Correct 1 ms 468 KB Output is correct
11 Correct 1 ms 468 KB Output is correct
12 Correct 1 ms 468 KB Output is correct
13 Correct 1 ms 468 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 288 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 2 ms 556 KB Output is correct
11 Correct 5 ms 560 KB Output is correct
12 Correct 2 ms 560 KB Output is correct
13 Correct 2 ms 596 KB Output is correct
14 Correct 1 ms 556 KB Output is correct
15 Correct 1 ms 536 KB Output is correct
16 Correct 1 ms 556 KB Output is correct
17 Correct 3 ms 596 KB Output is correct
18 Correct 2 ms 596 KB Output is correct
19 Correct 2 ms 596 KB Output is correct
20 Correct 2 ms 596 KB Output is correct
21 Correct 2 ms 596 KB Output is correct
22 Correct 3 ms 600 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 1 ms 468 KB Output is correct
8 Correct 1 ms 468 KB Output is correct
9 Correct 2 ms 468 KB Output is correct
10 Correct 1 ms 468 KB Output is correct
11 Correct 1 ms 468 KB Output is correct
12 Correct 1 ms 468 KB Output is correct
13 Correct 1 ms 468 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 0 ms 212 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
19 Correct 0 ms 288 KB Output is correct
20 Correct 0 ms 212 KB Output is correct
21 Correct 0 ms 212 KB Output is correct
22 Correct 0 ms 212 KB Output is correct
23 Correct 2 ms 556 KB Output is correct
24 Correct 5 ms 560 KB Output is correct
25 Correct 2 ms 560 KB Output is correct
26 Correct 2 ms 596 KB Output is correct
27 Correct 1 ms 556 KB Output is correct
28 Correct 1 ms 536 KB Output is correct
29 Correct 1 ms 556 KB Output is correct
30 Correct 3 ms 596 KB Output is correct
31 Correct 2 ms 596 KB Output is correct
32 Correct 2 ms 596 KB Output is correct
33 Correct 2 ms 596 KB Output is correct
34 Correct 2 ms 596 KB Output is correct
35 Correct 3 ms 600 KB Output is correct
36 Incorrect 0 ms 212 KB Output isn't correct
37 Halted 0 ms 0 KB -