#include <bits/stdc++.h>
#define endl "\n"
#define mod 1000000007
using namespace std;
int dp[401][400][400];
string s;
int n,k;
bool solve(int l,int r,int a,int b,int u){
    if(a>k||b>k) return 1;
    if(dp[l][r][a]!=-1) return dp[l][r][a];
    if(u==0){
        if(solve(l+1,r,a+(s[l]=='C'),b,(u^1))==0||solve(l,r-1,a+(s[r]=='C'),b,(u^1))==0) return dp[l][r][a]=1;
        return dp[l][r][a]=0;
    }
    else{
        if(solve(l+1,r,a,b+(s[l]=='C'),(u^1))==0||solve(l,r-1,a,b+(s[r]=='C'),(u^1))==0) return dp[l][r][a]=1;
        return dp[l][r][a]=0;
    }
}
signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    memset(dp,-1,sizeof dp);
    cin>>n>>k>>s;
    if(solve(0,n-1,0,0,0)==1) cout<<"DA"<<endl;
    else cout<<"NE"<<endl;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |