Help in problem 73C

Правка en1, от BanazadehAria, 2019-06-27 18:26:58

Hi,

I get WA on test case 23

Problem Link ==> https://codeforces.net/problemset/problem/73/C

#include<bits/stdc++.h>
using namespace std;

const int MAXN = 1e2+5;

string s;
long long k,change;
long long dp[MAXN][27][MAXN];

map<char,map<char,long long> > adjList;

long long Max(long long i,long long prev,long long left){
    if(i==s.size()) return 0;

    if(dp[i][prev][left]!=-1) return dp[i][prev][left];

    long long res=Max(i+1,(int)s[i],left) + adjList[prev][s[i]];

    if(left!=0){
        for(int j=97;j<=122;++j){
            char now = (char)(j);

            if(now==s[i]) continue;

            long long ind = Max(i+1,j,left-1) + adjList[prev][now];

            res = max(res,ind);

        }

    }
    dp[i][prev][left] = res;

    return dp[i][prev][left];
}

int main()
{
    for(long long i=0;i<=100;++i){
        for(long long j=0;j<=26;++j){
            for(long long f=0;f<=100;++f) dp[i][j][f] = -1;
        }
    }
    cin >> s;
    cin >> k >> change;
    for(long long i=0;i<change;++i){
        char a,b;long long c;cin >> a >> b >> c;
        adjList[a][b]=c;
    }
    cout << 1ll * Max(0,'?',k);
}
Теги #dynamic programing, #problem c, #help

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en2 Английский BanazadehAria 2019-06-27 20:04:07 21 Tiny change: 'n~~~~~\n\n' -> 'n~~~~~\n\nThanks in advance:)\n'
en1 Английский BanazadehAria 2019-06-27 18:26:58 1232 Initial revision (published)