Submission #1140857


Source Code Expand

#include <stdio.h>

const int di[4] = {0, 1, 0, -1};
const int dj[4] = {1, 0, -1, 0};

char s[50][51];
int visited[50][50];
int ans[312][8], c;

void bfs(int si, int sj) {
	int i, j;
	int queue[8];
	int front = 0, rear = 0;

	queue[rear++] = si * 50 + sj;
	visited[si][sj] = 1;
	while (front != rear) {
		const int ci = queue[front] / 50, cj = queue[front] % 50;
		front++;
		for (i = 0; i < 4; i++) {
			const int ni = ci + di[i], nj = cj + dj[i];
			if (ni >= 0 && ni < 50 && nj >= 0 && nj < 50 && !visited[ni][nj] && s[ni][nj] != '0') {
				queue[rear++] = ni * 50 + nj;
				visited[ni][nj] = 1;
				if (rear == 8) {
					for (j = 0; j < 8; j++)
						ans[c][j] = queue[j];
					c++;
					return;
				}
			}
		}
	}
}

int main(void) {
	int i, j;

	scanf("%*d %*d %*d");
	for (i = 0; i < 50; i++)
		scanf("%s", s[i]);

	for (i = 0; i < 50; i++)
		for (j = 0; j < 50; j++)
			if (!visited[i][j] && s[i][j] != '0')
				bfs(i, j);

	printf("%d\n", c);
	for (i = 0; i < c; i++)
		for (j = 0; j < 8; j++)
			printf("%d %d\n", ans[i][j] / 50 + 1, ans[i][j] % 50 + 1);

	return 0;
}

Submission Info

Submission Time
Task A - Multiple Pieces
User zeosutt
Language C (GCC 5.4.1)
Score 103307
Code Size 1132 Byte
Status AC
Exec Time 1 ms
Memory 128 KB

Compile Error

./Main.c: In function ‘main’:
./Main.c:39:2: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%*d %*d %*d");
  ^
./Main.c:41:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%s", s[i]);
   ^

Judge Result

Set Name test_01 test_02 test_03 test_04 test_05 test_06 test_07 test_08 test_09 test_10
Score / Max Score 10871 / 1343058 11360 / 1343058 10541 / 1343058 8603 / 1343058 10755 / 1343058 9816 / 1343058 10051 / 1343058 9864 / 1343058 10205 / 1343058 11241 / 1343058
Status
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
Set Name Test Cases
test_01 subtask_01_01.txt
test_02 subtask_01_02.txt
test_03 subtask_01_03.txt
test_04 subtask_01_04.txt
test_05 subtask_01_05.txt
test_06 subtask_01_06.txt
test_07 subtask_01_07.txt
test_08 subtask_01_08.txt
test_09 subtask_01_09.txt
test_10 subtask_01_10.txt
Case Name Status Exec Time Memory
subtask_01_01.txt AC 1 ms 128 KB
subtask_01_02.txt AC 1 ms 128 KB
subtask_01_03.txt AC 1 ms 128 KB
subtask_01_04.txt AC 1 ms 128 KB
subtask_01_05.txt AC 1 ms 128 KB
subtask_01_06.txt AC 1 ms 128 KB
subtask_01_07.txt AC 1 ms 128 KB
subtask_01_08.txt AC 1 ms 128 KB
subtask_01_09.txt AC 1 ms 128 KB
subtask_01_10.txt AC 1 ms 128 KB