Submission #68221260


Source Code Expand

Copy
#include <stdio.h>
#include <string.h>
const int d[4][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};
int H, W;
char map[256][256];
int mincost[256][256];
int q[256 * 256][2];
int main(void) {
int i, j;
int qs = 0, qe = 0;
int pt, st;
if (scanf("%d%d", &H, &W) != 2) return 1;
for (i = 1; i <= H; i++) {
if (scanf("%254s", map[i] + 1) != 1) return 1;
}
memset(mincost ,0x7f, sizeof(mincost));
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <stdio.h>
#include <string.h>

const int d[4][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};

int H, W;
char map[256][256];

int mincost[256][256];

int q[256 * 256][2];

int main(void) {
	int i, j;
	int qs = 0, qe = 0;
	int pt, st;
	if (scanf("%d%d", &H, &W) != 2) return 1;
	for (i = 1; i <= H; i++) {
		if (scanf("%254s", map[i] + 1) != 1) return 1;
	}
	memset(mincost ,0x7f, sizeof(mincost));
	for (i = 1; i <= H; i++) {
		for (j = 1; j <= W; j++) {
			if (map[i][j] == '%') {
				mincost[i][j] = 0;
				q[qe][0] = i;
				q[qe][1] = j;
				qe++;
			}
		}
	}
	while (qs < qe) {
		int cy = q[qs][0], cx = q[qs][1];
		qs++;
		for (i = 0; i < 4; i++) {
			int ny = cy + d[i][0], nx = cx + d[i][1];
			if (map[ny][nx] != '\0' && map[ny][nx] != '#' && mincost[ny][nx] > mincost[cy][cx] + 1) {
				mincost[ny][nx] = mincost[cy][cx] + 1;
				q[qe][0] = ny;
				q[qe][1] = nx;
				qe++;
			}
		}
	}
	pt = mincost[0][0];
	st = mincost[0][0];
	for (i = 1; i <= H; i++) {
		for (j = 1; j <= W; j++) {
			if (map[i][j] == '@' && mincost[i][j] < pt) pt = mincost[i][j];
			if (map[i][j] == '$' && mincost[i][j] < st) st = mincost[i][j];
		}
	}
	puts(pt < st ? "Yes" : "No");
	return 0;
}

Submission Info

Submission Time
Task B - Help the Princess!
User mikecat
Language C (gcc 12.2.0)
Score 100
Code Size 1236 Byte
Status AC
Exec Time 2 ms
Memory 2188 KiB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 52
Set Name Test Cases
All 00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03, 00_sample_04, 10_random_00, 10_random_01, 10_random_02, 10_random_03, 10_random_04, 10_random_05, 10_random_06, 10_random_07, 10_random_08, 10_random_09, 20_dense_yes_00, 20_dense_yes_01, 20_dense_yes_02, 20_dense_yes_03, 20_dense_yes_04, 21_dense_no_00, 21_dense_no_01, 21_dense_no_02, 21_dense_no_03, 21_dense_no_04, 30_maze_yes_00, 30_maze_yes_01, 30_maze_yes_02, 30_maze_yes_03, 30_maze_yes_04, 31_maze_no_00, 31_maze_no_01, 31_maze_no_02, 31_maze_no_03, 31_maze_no_04, 70_minimum_00, 70_minimum_01, 70_minimum_02, 70_minimum_03, 70_minimum_04, 70_minimum_05, 70_minimum_06, 70_minimum_07, 70_minimum_08, 70_minimum_09, 80_maximum_00, 80_maximum_01, 80_maximum_02, 80_maximum_03, 80_maximum_04, 85_worst_00, 85_worst_01
Case Name Status Exec Time Memory
00_sample_00 AC 1 ms 1788 KiB
00_sample_01 AC 1 ms 1880 KiB
00_sample_02 AC 1 ms 1832 KiB
00_sample_03 AC 1 ms 1836 KiB
00_sample_04 AC 1 ms 1892 KiB
10_random_00 AC 1 ms 1880 KiB
10_random_01 AC 1 ms 1884 KiB
10_random_02 AC 1 ms 2072 KiB
10_random_03 AC 1 ms 1908 KiB
10_random_04 AC 1 ms 1848 KiB
10_random_05 AC 1 ms 2008 KiB
10_random_06 AC 1 ms 2020 KiB
10_random_07 AC 1 ms 1920 KiB
10_random_08 AC 1 ms 1952 KiB
10_random_09 AC 1 ms 1824 KiB
20_dense_yes_00 AC 1 ms 1860 KiB
20_dense_yes_01 AC 1 ms 2084 KiB
20_dense_yes_02 AC 1 ms 1944 KiB
20_dense_yes_03 AC 1 ms 1724 KiB
20_dense_yes_04 AC 1 ms 1808 KiB
21_dense_no_00 AC 1 ms 1956 KiB
21_dense_no_01 AC 1 ms 1892 KiB
21_dense_no_02 AC 1 ms 2072 KiB
21_dense_no_03 AC 1 ms 1888 KiB
21_dense_no_04 AC 1 ms 2060 KiB
30_maze_yes_00 AC 1 ms 1864 KiB
30_maze_yes_01 AC 1 ms 1840 KiB
30_maze_yes_02 AC 1 ms 1736 KiB
30_maze_yes_03 AC 1 ms 1852 KiB
30_maze_yes_04 AC 1 ms 2024 KiB
31_maze_no_00 AC 1 ms 2000 KiB
31_maze_no_01 AC 1 ms 1856 KiB
31_maze_no_02 AC 1 ms 2080 KiB
31_maze_no_03 AC 1 ms 1920 KiB
31_maze_no_04 AC 1 ms 1924 KiB
70_minimum_00 AC 1 ms 1860 KiB
70_minimum_01 AC 1 ms 1784 KiB
70_minimum_02 AC 1 ms 1860 KiB
70_minimum_03 AC 1 ms 1932 KiB
70_minimum_04 AC 1 ms 1864 KiB
70_minimum_05 AC 1 ms 1828 KiB
70_minimum_06 AC 1 ms 1788 KiB
70_minimum_07 AC 1 ms 1912 KiB
70_minimum_08 AC 1 ms 1824 KiB
70_minimum_09 AC 1 ms 1860 KiB
80_maximum_00 AC 2 ms 2128 KiB
80_maximum_01 AC 1 ms 2184 KiB
80_maximum_02 AC 2 ms 2188 KiB
80_maximum_03 AC 1 ms 2164 KiB
80_maximum_04 AC 2 ms 2160 KiB
85_worst_00 AC 1 ms 2036 KiB
85_worst_01 AC 1 ms 2084 KiB


2025-08-05 (Tue)
00:24:03 +09:00