This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define N 360
int dp[N][N][N];
int red[N];
int n, k;
int f(int i, int j, int l){
int m = red[n] - red[j] + red[i - 1] - l;
if(l >= k)
return 0;
if(m >= k)
return 1;
if(dp[i][j][k] != -1)
return dp[i][j][k];
return dp[i][j][k] = !f(i + 1, j, m) || !f(i, j - 1, m);
}
int main(){
memset(dp, -1, sizeof(dp));
string s;
cin >> n >> k >> s;
for(int i=1; i<=n; i++){
red[i] = red[i - 1];
if(s[i - 1] == 'C') red[i]++;
}
if(f(1, n, 0) == 1)
cout << "DA" << endl;
else cout << "NE" << endl;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |