結果
問題 | No.541 3 x N グリッド上のサイクルの個数 |
ユーザー |
|
提出日時 | 2017-07-02 23:00:27 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 91 ms / 2,000 ms |
コード長 | 515 bytes |
コンパイル時間 | 60 ms |
コンパイル使用メモリ | 7,680 KB |
実行使用メモリ | 12,672 KB |
最終ジャッジ日時 | 2024-10-05 08:52:56 |
合計ジャッジ時間 | 6,968 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 62 |
コンパイルメッセージ
Syntax OK
ソースコード
M=10**9+7def mul(a,b)r=a.size.times.map{[0]*b[0].size}a.size.times{|y|b[0].size.times{|x|r[y][x]=b.size.times.reduce(0){|s,i|(s+a[y][i]*b[i][x])%M}}}rendq=[0,6,40,213,1049,5034,23984]k=gets.to_iif k<6p q[k]exitendk-=6a=[[9,-27,38,-29,11,1,-2],[1,0,0,0,0,0,0],[0,1,0,0,0,0,0],[0,0,1,0,0,0,0],[0,0,0,1,0,0,0],[0,0,0,0,1,0,0],[0,0,0,0,0,1,0],]e=7.times.map{|i|[0]*i+[1]+[0]*(7-i-1)}while k>0e=mul(e,a) if k%2>0a=mul(a,a)k/=2endp mul(e,[q.reverse].transpose)[0][0]