| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 42118 | 真很诡异你知道吗其实我不是皇子瑞 | 【S】T4 | C++ | 通过 | 100 | 324 MS | 488764 KB | 926 | 2026-06-13 15:02:10 |
#include<bits/stdc++.h> using namespace std; string s,s1,s2; long long n,l1,l2,sum,md=998244353,dp[100005][25][25]; int main(){ cin>>s>>s1>>s2; n=s.length(); l1=s1.length(); l2=s2.length(); s=" "+s; s1=" "+s1; s2=" "+s2; for(int i=1;i<=n;i++){ dp[i-1][0][0]=i; for(int a1=0;a1<=l1;a1++){ for(int a2=0;a2<=l2;a2++){ dp[i][a1][a2]=dp[i-1][a1][a2]; if(s[i]==s1[a1]){ dp[i][a1][a2]+=dp[i-1][a1-1][a2]; } if(s[i]==s2[a2]){ dp[i][a1][a2]+=dp[i-1][a1][a2-1]; } if(s[i]==s1[a1] && s[i]==s2[a2]){ dp[i][a1][a2]+=dp[i-1][a1-1][a2-1]; } dp[i][a1][a2]%=md; } } sum+=dp[i][l1][l2]; sum%=md; } printf("%lld",sum); }