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));
#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 |
|
| 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 |