結果
問題 | No.1754 T-block Tiling |
ユーザー | horiesiniti |
提出日時 | 2023-07-05 00:11:12 |
言語 | Ruby (3.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,377 bytes |
コンパイル時間 | 38 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 18,048 KB |
最終ジャッジ日時 | 2024-07-18 18:57:47 |
合計ジャッジ時間 | 3,827 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 142 ms
17,792 KB |
testcase_01 | TLE | - |
コンパイルメッセージ
Syntax OK
ソースコード
#認知機能障害(思考力などの低下)日常でも感じてたがプログラムにも影響するのは悲しいな、 def f() n=gets.to_i*4 ds=[] ds<<[[1,0],[2,0],[1,1]] ds<<[[1,-1],[1,0],[1,1]] ds<<[[1,0],[1,-1],[2,0]] ds<<[[0,1],[0,2],[1,1]] seed=[] 4.times{ seed<<[0]*3 } dp={} dp[seed]=1 0.upto(n-2){|x| es={} dp.keys.each{|e| perm=dp[e] enow=[] 4.times{|j| enow<<e[j].dup } es[enow]=perm } 4.times{|y| es2={} es.keys.each{|enow| if enow[y][0]==1 then enext=[] 4.times{|j| enext<<enow[j].dup } es2[enext]=0 if es2.member?(enext)==false es2[enext]+=es[enow] else ds.each{|d1| check=d1.all?{|dx,dy| x2=x+dx y2=y+dy if n-1<x2 || y2<0 || 3<y2 then false elsif enow[y2][dx]==1 then false else true end } if check then enext=[] 4.times{|j| enext<<enow[j].dup } enext[y][0]=1 d1.each{|dx,dy| y2=y+dy enext[y2][dx]=1 } es2[enext]=0 if es2.member?(enext)==false es2[enext]+=es[enow] end } end } es=es2.dup } dp.clear es.keys.each{|k| perm1=es[k] k.map!{|e| e.shift e<<0 e } dp[k.dup]=0 if dp.member?(k)==false dp[k.dup]=(dp[k.dup]+perm1)%998244353 } } puts dp.values.sum%998244353 end t=gets.to_i t.times{ f() }