Submission #73144682


Source Code Expand

Copy
#include <stdio.h>
int m;
int n;
int hh[128][128]; /* haku hyou */
int tiisakunaihou(int a, int b) {
return a >= b ? a : b;
}
int idou(int y, int x) {
int ans;
if (hh[y][x] == 0) return 0;
hh[y][x] = 0;
ans = idou(y - 1, x);
ans = tiisakunaihou(ans, idou(y + 1, x));
ans = tiisakunaihou(ans, idou(y, x - 1));
ans = tiisakunaihou(ans, idou(y, x + 1));
hh[y][x] = 1;
return ans + 1;
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <stdio.h>

int m;
int n;
int hh[128][128]; /* haku hyou */

int tiisakunaihou(int a, int b) {
	return a >= b ? a : b;
}

int idou(int y, int x) {
	int ans;
	if (hh[y][x] == 0) return 0;
	hh[y][x] = 0;
	ans = idou(y - 1, x);
	ans = tiisakunaihou(ans, idou(y + 1, x));
	ans = tiisakunaihou(ans, idou(y, x - 1));
	ans = tiisakunaihou(ans, idou(y, x + 1));
	hh[y][x] = 1;
	return ans + 1;
}

int main(void) {
	int i, j;
	int ans = 0;
	if (scanf("%d", &m) != 1) return 1;
	if (scanf("%d", &n) != 1) return 1;
	for (i = 1; i <= n; i++) {
		for (j = 1; j <= m; j++) {
			if (scanf("%d", &hh[i][j]) != 1) return 1;
		}
	}
	for (i = 1; i <= n; i++) {
		for (j = 1; j <= m; j++) {
			ans = tiisakunaihou(ans, idou(i, j));
		}
	}
	printf("%d\n", ans);
	return 0;
}

Submission Info

Submission Time
Task D - 薄氷渡り
User mikecat
Language C23 (GCC 14.2.0)
Score 100
Code Size 803 Byte
Status AC
Exec Time 2 ms
Memory 1928 KiB

Judge Result

Set Name set01 set02 set03 set04 set05
Score / Max Score 20 / 20 20 / 20 20 / 20 20 / 20 20 / 20
Status
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
Set Name Test Cases
set01 data1
set02 data2
set03 data3
set04 data4
set05 data5
Case Name Status Exec Time Memory
data1 AC 0 ms 1652 KiB
data2 AC 0 ms 1668 KiB
data3 AC 1 ms 1928 KiB
data4 AC 1 ms 1752 KiB
data5 AC 2 ms 1764 KiB


2026-02-09 (Mon)
08:03:03 +09:00