| 1234567891011121314151617181920212223242526272829 | const MOD int = 1000000007func checkRecord(n int) int {	// A, L, P	var dp = [2][3]int{{1, 1, 0}, {1, 0, 0}}	for i := 1; i < n; i++ {		var nxt [2][3]int		for A := 0; A <= 1; A++ {			for L := 0; L <= 2; L++ {				nxt[A][0] += dp[A][L] // Append P				if L > 0 {					nxt[A][L] += dp[A][L-1] // Append L				}				if A > 0 {					nxt[A][0] += dp[A-1][L] // Append A				}				nxt[A][L] %= MOD			}		}		dp = nxt	}	sum := 0	for i := range dp {		for _, v := range dp[i] {			sum = (sum + v) % MOD		}	}	return sum}
 |