結果
| 問題 | No.179 塗り分け |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-03-14 09:47:57 |
| 言語 | Fortran (gFortran 15.2.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,542 bytes |
| 記録 | |
| コンパイル時間 | 1,250 ms |
| コンパイル使用メモリ | 41,616 KB |
| 実行使用メモリ | 6,144 KB |
| 最終ジャッジ日時 | 2026-03-14 09:48:03 |
| 合計ジャッジ時間 | 3,124 ms |
|
ジャッジサーバーID (参考情報) |
judge3_1 / judge1_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 6 |
| other | AC * 30 WA * 10 |
ソースコード
PROGRAM MAIN
IMPLICIT NONE
INTEGER :: H, W, I, J, K, L, COUNT, X, Y
CHARACTER*50, ALLOCATABLE, DIMENSION(:) :: S
INTEGER, ALLOCATABLE, DIMENSION(:, :) :: S_NUM
INTEGER, ALLOCATABLE, DIMENSION(:) :: U, V
READ *, H, W
ALLOCATE(S(H))
ALLOCATE(S_NUM(H, W))
S_NUM = 0
READ *, S
DO I = 1, H
DO J = 1, W
IF (S(I)(J:J) == '#') THEN
S_NUM(I, J) = 1
END IF
END DO
END DO
K = SUM(S_NUM)
! PRINT *, K
IF (MOD(K, 2) == 1) THEN
PRINT *, 'NO'
RETURN
END IF
ALLOCATE(U(K))
ALLOCATE(V(K))
COUNT = 1
DO I = 1, H
DO J = 1, W
IF(S_NUM(I, J) == 1) THEN
U(COUNT) = I
V(COUNT) = J
COUNT = COUNT + 1
END IF
END DO
END DO
! PRINT *, U
! PRINT *, V
DO I = 0, H - 1
DO J = 0, W - 1
COUNT = 0
DO L = 1, K
X = U(L) + I
Y = V(L) + J
IF (X > H .OR. Y > W) THEN
CYCLE
END IF
IF (S_NUM(X, Y) == 1 .AND. ((X + I > H .OR. Y + J > W) .OR. S_NUM(X + I, Y + J) == 0)) THEN
COUNT = COUNT + 1
END IF
! PRINT *, X, Y
END DO
IF (2 * COUNT == K) THEN
PRINT *, 'YES'
RETURN
END IF
! PRINT *, I, J
END DO
END DO
PRINT *, 'NO'
END PROGRAM MAIN