結果
問題 |
No.455 冬の大三角
|
ユーザー |
![]() |
提出日時 | 2019-04-18 06:41:54 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 1,060 bytes |
コンパイル時間 | 129 ms |
コンパイル使用メモリ | 30,592 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-22 08:45:21 |
合計ジャッジ時間 | 2,536 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 54 |
ソースコード
// yukicoder: No.455 冬の大三角 // 2019.4.18 bal4u #include <stdio.h> #if 0 #define gc() getchar_unlocked() #define pc(c) putchar_unlocked(c) #else #define gc() getchar() #define pc(c) putchar(c) #endif int in() // 非負整数の入力 { int n = 0, c = gc(); // while (isspace(c)) c = gc(); do n = 10 * n + (c & 0xf), c = gc(); while (c >= '0'); return n; } void ins(char *s) // 文字列の入力 スペース以下の文字で入力終了 { do *s = gc(); while (*s++ > ' '); *(s - 1) = 0; } void outs(char *s) { while (*s) pc(*s++); } char map[105][105]; int main() { int H, W, r, c; int r1, c1, r2, c2, r3, c3; H = in(), W = in(); r1 = r2 = -1; for (r = 0; r < H; r++) { ins(map[r]); for (c = 0; c < W; c++) { if (map[r][c] == '*') { if (r1 < 0) r1 = r, c1 = c; else r2 = r, c2 = c; } } } if (r1 == r2) c3 = (c1+c2)/2, r3 = (r1==0)? H-1: 0; else if (c1 == c2) r3 = (r1+r2)/2, c3 = (c1==0)? W-1: 0; else r3 = r1, c3 = c2; map[r3][c3] = '*'; for (r = 0; r < H; r++) outs(map[r]), pc('\n'); return 0; }