Submission #1263481
Source Code Expand
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.IO; using System.Text; using System.Globalization; using System.Diagnostics; class Myon { public Myon() { } public static int Main() { new Myon().calc(); return 0; } Scanner cin; int H, W, K; void calc() { cin = new Scanner(); H = cin.nextInt(); W = cin.nextInt(); K = cin.nextInt(); string[] board = new string[H]; for (int i = 0; i < H; i++) { board[i] = cin.next(); } int fy = -1; int fx = -1; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { if(board[i][j] == 'S') { fy = i; fx = j; } } } int[,] dist = new int[H, W]; int MAX = 99999999; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { dist[i, j] = MAX; } } int[] vy = { 1, 0, -1, 0 }; int[] vx = { 0, 1, 0, -1 }; Queue<Tuple<int, int>> q = new Queue<Tuple<int, int>>(); dist[fy, fx] = 0; q.Enqueue(Tuple.Create(fy, fx)); while (q.Count > 0) { var now = q.Dequeue(); int y = now.Item1; int x = now.Item2; for (int k = 0; k < vy.Length; k++) { int ny = y + vy[k]; int nx = x + vx[k]; if (!inside(ny, nx)) continue; if (dist[ny, nx] != MAX) continue; if (board[ny][nx] == '#') continue; dist[ny, nx] = dist[y, x] + 1; q.Enqueue(Tuple.Create(ny, nx)); } } int ans = MAX; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { int mindist = MAX; mindist = Math.Min(mindist, i); mindist = Math.Min(mindist, j); mindist = Math.Min(mindist, H - 1 - i); mindist = Math.Min(mindist, W - 1 - j); int first = (dist[i, j] + K) / K; int second = (mindist + (K - 1)) / K; ans = Math.Min(ans, first+ second); } } Console.WriteLine(ans); } bool inside(int y, int x) { return y >= 0 && x >= 0 && y < H && x < W; } } class Scanner { string[] s; int i; char[] cs = new char[] { ' ' }; public Scanner() { s = new string[0]; i = 0; } public string next() { if (i < s.Length) return s[i++]; string st = Console.ReadLine(); while (st == "") st = Console.ReadLine(); s = st.Split(cs, StringSplitOptions.RemoveEmptyEntries); i = 0; return s[i++]; } public int nextInt() { return int.Parse(next()); } public long nextLong() { return long.Parse(next()); } public double nextDouble() { return double.Parse(next()); } }
Submission Info
Submission Time | |
---|---|
Task | C - Closed Rooms |
User | chokudai |
Language | C# (Mono 4.6.2.0) |
Score | 0 |
Code Size | 3363 Byte |
Status | WA |
Exec Time | 115 ms |
Memory | 21084 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 700 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt, sample3.txt |
All | sample1.txt, sample2.txt, sample3.txt, in1.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in2.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in3.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in4.txt, in40.txt, in5.txt, in6.txt, in7.txt, in8.txt, in9.txt, sample1.txt, sample2.txt, sample3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in1.txt | AC | 41 ms | 16732 KB |
in10.txt | AC | 41 ms | 16732 KB |
in11.txt | AC | 41 ms | 16732 KB |
in12.txt | AC | 42 ms | 18780 KB |
in13.txt | AC | 41 ms | 18780 KB |
in14.txt | AC | 41 ms | 18780 KB |
in15.txt | AC | 40 ms | 16732 KB |
in16.txt | AC | 41 ms | 18780 KB |
in17.txt | AC | 40 ms | 18780 KB |
in18.txt | AC | 42 ms | 16732 KB |
in19.txt | AC | 41 ms | 18780 KB |
in2.txt | AC | 41 ms | 18780 KB |
in20.txt | AC | 23 ms | 11328 KB |
in21.txt | AC | 23 ms | 11328 KB |
in22.txt | AC | 23 ms | 11328 KB |
in23.txt | AC | 41 ms | 16732 KB |
in24.txt | AC | 40 ms | 18780 KB |
in25.txt | AC | 40 ms | 16732 KB |
in26.txt | AC | 102 ms | 16988 KB |
in27.txt | AC | 100 ms | 19032 KB |
in28.txt | AC | 103 ms | 19032 KB |
in29.txt | AC | 103 ms | 19032 KB |
in3.txt | AC | 41 ms | 16732 KB |
in30.txt | AC | 101 ms | 19036 KB |
in31.txt | WA | 98 ms | 19032 KB |
in32.txt | AC | 101 ms | 19032 KB |
in33.txt | AC | 111 ms | 19036 KB |
in34.txt | AC | 115 ms | 21084 KB |
in35.txt | AC | 114 ms | 17232 KB |
in36.txt | AC | 40 ms | 18780 KB |
in37.txt | AC | 41 ms | 18780 KB |
in38.txt | AC | 40 ms | 16732 KB |
in39.txt | AC | 107 ms | 16988 KB |
in4.txt | AC | 40 ms | 16732 KB |
in40.txt | WA | 109 ms | 16984 KB |
in5.txt | AC | 41 ms | 18780 KB |
in6.txt | AC | 41 ms | 18780 KB |
in7.txt | AC | 41 ms | 18780 KB |
in8.txt | AC | 41 ms | 16732 KB |
in9.txt | AC | 40 ms | 16732 KB |
sample1.txt | AC | 23 ms | 11348 KB |
sample2.txt | AC | 23 ms | 9300 KB |
sample3.txt | AC | 23 ms | 11348 KB |