結果

問題 No.1073 無限すごろく
コンテスト
ユーザー trineutron
提出日時 2020-06-05 22:09:54
言語 Fortran
(gFortran 16.2.0)
コンパイル:
gfortran-16 _filename_ -O2 -o ./a.out
実行:
./a.out
結果
AC  
実行時間 1 ms / 2,000 ms
+ 8µs
コード長 534 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,773 ms
コンパイル使用メモリ 41,604 KB
実行使用メモリ 9,896 KB
最終ジャッジ日時 2026-10-04 17:05:44
合計ジャッジ時間 3,427 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

program main
    implicit none
    integer(16) :: i, n, mat(6, 6), current(6, 6), m = 1000000007
    mat = 0
    current = 0
    do i = 1, 5
        mat(i, i + 1) = 1
        mat(i, 1) = 166666668
    end do
    mat(6, 1) = 166666668
    do i = 1, 6
        current(i, i) = 1
    end do
    read *, n
    do while (n >= 1)
        if (mod(n, 2) == 1) then
            current = mod(matmul(current, mat), m)
        end if
        mat = mod(matmul(mat, mat), m)
        n = n / 2
    end do
    print *, current(1, 1)
end program main
0