day03
2026-08-04 13:58:45
发布于:广东
第三题
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const ll N=1e5+5;
ll n,a[N][3],dp[N][3];
int main(){
cin>>n;
for(ll i=1;i<=n;i++){
for(ll j=1;j<=3;j++){
cin>>a[i][j];
}
}
dp[1][1]=a[1][1];dp[1][2]=a[1][2];dp[1][3]=a[1][3];
for(ll i=2;i<=n;i++){
dp[i][1]=max(dp[i-1][2]+a[i][1],dp[i-1][3]+a[i][1]);
dp[i][2]=max(dp[i-1][1]+a[i][2],dp[i-1][3]+a[i][2]);
dp[i][3]=max(dp[i-1][1]+a[i][3],dp[i-1][2]+a[i][3]);
}
cout<<max(dp[n][1],max(dp[n][2],dp[n][3]));
return 0;
}
第六题
#include<bits/stdc++.h>
using namespace std;
using ll=long long ;
const ll MOD=998244353;
const ll N=2e6+10;
ll dp[N][10];
int main(){
ll n;cin>>n;
for(ll i = 0; i <= 9 ; i++){
dp[1][i] = 1;
}
for(ll i = 2; i <= n ; i++){
for(ll j = 0; j <= 9 ; j++){
for(ll k = 0; k <= 9 ; k++){
if(j==k) continue;
dp[i][j] += dp[i-1][k];
dp[i][j] %= MOD;
}
}
}ll ans = 0;
for(ll i = 0; i <= 9 ; i++){
ans += dp[n][i];
ans %=MOD;
}
cout<<ans;
return 0;
}
这里空空如也


















有帮助,赞一个