結果
| 問題 | No.1073 無限すごろく | 
| コンテスト | |
| ユーザー |  trineutron | 
| 提出日時 | 2020-06-05 22:09:54 | 
| 言語 | Fortran (gFortran 14.2.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 2,000 ms | 
| コード長 | 534 bytes | 
| コンパイル時間 | 1,815 ms | 
| コンパイル使用メモリ | 32,980 KB | 
| 実行使用メモリ | 6,820 KB | 
| 最終ジャッジ日時 | 2024-12-17 15:37:20 | 
| 合計ジャッジ時間 | 3,018 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 30 | 
ソースコード
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
            
            
            
        