結果
問題 | No.402 最も海から遠い場所 |
ユーザー | highd |
提出日時 | 2016-09-07 20:26:08 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,181 bytes |
コンパイル時間 | 601 ms |
コンパイル使用メモリ | 66,700 KB |
実行使用メモリ | 45,344 KB |
最終ジャッジ日時 | 2024-11-15 21:09:35 |
合計ジャッジ時間 | 32,443 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
10,912 KB |
testcase_01 | AC | 2 ms
13,640 KB |
testcase_02 | AC | 20 ms
11,428 KB |
testcase_03 | AC | 2 ms
11,304 KB |
testcase_04 | AC | 2 ms
13,636 KB |
testcase_05 | AC | 2 ms
13,640 KB |
testcase_06 | AC | 2 ms
13,636 KB |
testcase_07 | AC | 2 ms
13,636 KB |
testcase_08 | AC | 2 ms
13,636 KB |
testcase_09 | AC | 2 ms
45,316 KB |
testcase_10 | RE | - |
testcase_11 | AC | 4 ms
45,344 KB |
testcase_12 | AC | 2 ms
12,068 KB |
testcase_13 | AC | 1,304 ms
6,816 KB |
testcase_14 | AC | 49 ms
6,824 KB |
testcase_15 | TLE | - |
testcase_16 | TLE | - |
testcase_17 | TLE | - |
testcase_18 | TLE | - |
testcase_19 | TLE | - |
testcase_20 | TLE | - |
testcase_21 | TLE | - |
ソースコード
#include <iostream> inline int max(int a, int b) { return a>b?a:b; } /**/ int main() { int height,width; std::cin>>height>>width; height+=2; width +=2; int*map=new int[height*width]; char ch=0; int index=0; for (int i = 0; i < width; i++) { map[index]=-1; index++; } index--; while (ch!=EOF) { if(index>=height*width-width)break; if (index%width == width - 1) { map[index+1]=-1; map[index] = -1; index+=2; } ch=getchar(); switch (ch) { case '.': map[index]=-1; index++; break; case '#': map[index]= 4000; index++; default: break; } } for (int i = 0; i < width; i++) { map[index] = -1; index++; } for (int x1 = 0; x1 < width; x1++) { for (int y1 = 0; y1 < height; y1++) { if (map[x1 + y1*width] == -1) { for (int x2 = 0; x2 < width; x2++) { for (int y2 = 0; y2 < height; y2++) { if (map[x2 + y2*width]!=0&&map[x2 + y2*width] > max(abs(x1 - x2), abs(y1 - y2))) { map[x2 + y2*width]= max(abs(x1 - x2), abs(y1 - y2)); } } } } } } int max=0; for (int i = 0; i < height*width; i++) { if (max < map[i]) { max=map[i]; } } std::cout<<max<<std::endl; return 0; }