题解 | #I love you#

I love you

https://ac.nowcoder.com/acm/problem/201612

#include #include #include #include using namespace std; const int mod = 20010905; const string target = "iloveyou"; int main() { string str;cin>>str; for(int i=0;i<str.size();i++) { if(str[i]>='A'&&str[i]<='Z') { str[i]=str[i]-'A'+'a'; } }//均转化为小写 long long dp[9]; memset(dp, 0, sizeof(dp)); dp[0]=1;//重要初始化 //dp含义,前j个子序列的个数。
for(int i=0;i<str.size();i++) { for(int j=7;j>=0;j--) { if(target[j]==str[i]) dp[j+1]=(dp[j+1]+dp[j])%mod; //似乎有点像爬楼梯问题。 } } cout<<dp[8]<<endl; return 0; }

全部评论

相关推荐

牛客78682892...:直接点还好,总比要了简历也不回的强
点赞 评论 收藏
分享
点赞 评论 收藏
分享
昨天 20:49
武汉大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务