atcoder典型90問008(https://atcoder.jp/contests/typical90/tasks/typical90_h)を解いていたところどこが原因となって機能していないのか分からなかったのでご教授願います。
(この問題(https://atcoder.jp/contests/abc211/tasks/abc211_c)と同じ様に解いたのですが…)
C++
1#include <bits/stdc++.h> 2using namespace std; 3#define ll long long 4#define ld long double 5#define rep(i,a,n) for (ll i = a;i<(n);++i) 6#define all(v) v.begin(),v.end() 7#define bit(n) (1LL<<(n)) 8#define pu(n) push_back(n) 9#define INF 1000000000000 //10^12 10#define MOD 1000000007 //10^9+7 11#define MAXR 100000 //10^5 12/*-------------------------------------------------------------------------------------------*/ 13int main(){ 14 ll n;cin>>n;string s;cin>>s; 15 string t="atcoder"; 16 vector<vector<ll>>dp(n+1,vector<ll>(8)); 17 rep(i,0,n+1){ 18 dp[i][0]=1; 19 } 20 rep(i,0,n){ 21 rep(j,0,7){ 22 if(s[i]!=t[j]){ 23 dp[i+1][j+1]=dp[i][j+1]; 24 } 25 else{ 26 dp[i+1][j+1]=(dp[i][j+1]+dp[i][j])%MOD; 27 } 28 } 29 } 30 cout<<dp[n][8]; 31 return 0; 32}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/25 10:03