結果
| 問題 |
No.533 Mysterious Stairs
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-06-23 01:30:45 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 2,641 ms / 5,000 ms |
| コード長 | 556 bytes |
| コンパイル時間 | 98 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 74,368 KB |
| 最終ジャッジ日時 | 2024-10-04 07:26:03 |
| 合計ジャッジ時間 | 12,505 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 28 |
コンパイルメッセージ
Syntax OK
ソースコード
require 'matrix'
#
# オーバーキル解法.O(logN)
# 途中計算で剰余取らずに多倍長でごリ押すため,遅くなる.
#
MOD = 1000000007
n = gets.to_i-1
my_nice_matrix = Matrix[ \
[0,1,1,0,0,0], \
[0,0,0,1,0,0], \
[0,0,0,0,1,0], \
[1,0,1,0,0,0], \
[0,0,0,0,0,1], \
[1,1,0,0,0,0]]
status = Matrix.column_vector([1,0,0,1,0,1])
status = (my_nice_matrix**n)*status
p (status[0,0]%MOD + status[1,0]%MOD + status[2,0]%MOD)%MOD