题解:
状态机 分成三种状态 0为刀口为平的时候,1为刀口为刀尖向上的,2为刀口刀尖向下的
#include <bits/stdc++.h>
using namespace std;
long long int dp[1010100][3];
int mod=998244353;
int main()
{
int n;
scanf("%d",&n);
dp[0][0]=1;
for(int i=2;i<=n;i++)
{
dp[i][0]=(dp[i-1][1]+dp[i-1][2])%mod;
dp[i][1]=(dp[i-2][1]+dp[i-2][0])%mod;
dp[i][2]=(dp[i-2][2]+dp[i-2][0])%mod;
}
cout<<dp[n][1]<<endl;
return 0;
}