結果
| 問題 |
No.1754 T-block Tiling
|
| コンテスト | |
| ユーザー |
horiesiniti
|
| 提出日時 | 2023-07-05 00:11:12 |
| 言語 | Ruby (3.4.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,377 bytes |
| コンパイル時間 | 38 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 18,048 KB |
| 最終ジャッジ日時 | 2024-07-18 18:57:47 |
| 合計ジャッジ時間 | 3,827 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | TLE * 1 |
コンパイルメッセージ
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()
}
horiesiniti