結果

問題 No.3 ビットすごろく
コンテスト
ユーザー iLL
提出日時 2026-03-06 23:24:10
言語 Fortran
(gFortran 15.2.0)
コンパイル:
gfortran _filename_ -O2 -o ./a.out
実行:
./a.out
結果
WA  
実行時間 -
コード長 766 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,501 ms
コンパイル使用メモリ 39,400 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2026-03-06 23:24:59
合計ジャッジ時間 2,856 ms
ジャッジサーバーID
(参考情報)
judge6 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 14 WA * 19
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

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) THEN
        A(I - BITTO) = A(I) + 1
        CALL SUGOROKU(A, N, I - BITTO)
    END IF

    IF (I + BITTO <= N .AND. A(I + BITTO) == -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  
0