15 lines
215 B
Go
15 lines
215 B
Go
|
package main
|
||
|
|
||
|
const MOD int = 1_000_000_007
|
||
|
|
||
|
func numTilings(n int) int {
|
||
|
dp := [...]int{0, 1, 2, 5}
|
||
|
|
||
|
for n >= 4 {
|
||
|
dp[0], dp[1], dp[2], dp[3] = dp[1], dp[2], dp[3], (2*dp[3]+dp[1])%MOD
|
||
|
n--
|
||
|
}
|
||
|
|
||
|
return dp[n]
|
||
|
}
|