結果
| 問題 | No.3 ビットすごろく |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-03-07 06:27:18 |
| 言語 | Fortran (gFortran 15.2.0) |
| 結果 |
AC
|
| 実行時間 | 171 ms / 5,000 ms |
| コード長 | 826 bytes |
| 記録 | |
| コンパイル時間 | 1,447 ms |
| コンパイル使用メモリ | 39,528 KB |
| 実行使用メモリ | 7,848 KB |
| 最終ジャッジ日時 | 2026-03-07 06:27:23 |
| 合計ジャッジ時間 | 4,402 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 33 |
ソースコード
RECURSIVE SUBROUTINE SUGOROKU(A, N, I)
IMPLICIT NONE
INTEGER :: N, A(N), I
INTEGER :: BITTO, TMP
BITTO = 0
TMP = I
DO WHILE (TMP > 0)
BITTO = BITTO + MOD(TMP, 2)
TMP = TMP / 2
END DO
IF (I - BITTO > 0 .AND. (A(I - BITTO) == -1 .OR. A(I - BITTO) > A(I) + 1)) THEN
A(I - BITTO) = A(I) + 1
CALL SUGOROKU(A, N, I - BITTO)
END IF
IF (I + BITTO <= N .AND. (A(I + BITTO) == -1 .OR. A(I + BITTO) > A(I) + 1)) THEN
A(I + BITTO) = A(I) + 1
CALL SUGOROKU(A, N, I + BITTO)
END IF
END SUBROUTINE SUGOROKU
PROGRAM MAIN
IMPLICIT NONE
INTEGER :: N
INTEGER, ALLOCATABLE, DIMENSION(:) :: A
READ *, N
ALLOCATE(A(N), SOURCE = -1)
! PRINT *, A(:)
A(1) = 1
CALL SUGOROKU(A, N, 1)
PRINT *, A(N)
END PROGRAM MAIN