Submission #655482

#TimeUsernameProblemLanguageResultExecution timeMemory
655482googleKamenčići (COCI21_kamencici)C++17
70 / 70
45 ms84956 KiB
#include<bits/stdc++.h> using namespace std; int n,k; vector<vector<vector<int>>> dp; string s; bool solve(int l, int r, int cnt1,int cnt2){ if (cnt1 >= k) return 0; if (cnt2 >= k) return 1; if (~dp[l][r][cnt1]) return dp[l][r][cnt1]; if (!solve(l+1,r,cnt2,cnt1+(s[l]=='C')) || !solve(l,r-1,cnt2,cnt1+(s[r]=='C'))) return dp[l][r][cnt1] = 1; return dp[l][r][cnt1] = 0; } int main(){ cin.tie(0)->sync_with_stdio(0); cin >> n >> k >> s; dp.resize(n,vector<vector<int>>(n,vector<int>(k,-1))); if (solve(0,n-1,0,0)) cout << "DA"; else cout << "NE"; return 0; }

Compilation message (stderr)

Main.cpp: In function 'bool solve(int, int, int, int)':
Main.cpp:10:107: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   10 |     if (!solve(l+1,r,cnt2,cnt1+(s[l]=='C')) || !solve(l,r-1,cnt2,cnt1+(s[r]=='C'))) return dp[l][r][cnt1] = 1;
Main.cpp:11:27: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   11 |     return dp[l][r][cnt1] = 0;
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...