Submission #110388

#TimeUsernameProblemLanguageResultExecution timeMemory
110388pamajGrowing Vegetable is Fun 3 (JOI19_ho_t3)C++14
0 / 100
1074 ms18672 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 410; int n; bool check(string t) { for(int i = 0; i < t.size(); i++) if(t[i] == t[i + 1]) return false; return true; } map<pair<int, string>, int> dp; int solve(int num, string s) { if(check(s)) return dp[{num, s}] = num; if(dp[{num, s}]) return dp[{num, s}]; int melhor = 1e9; if(num == n) return 1e9; for(int i = 0; i < n - 1; i++) { string temp = s; swap(temp[i], temp[i + 1]); melhor = min(melhor, solve(num + 1, temp)); } return dp[{num, s}] = melhor; } int main() { cin >> n; string s; cin >> s; int ans = solve(0, s); cout << (ans == (int)1e9 ? -1 : ans) << "\n"; }

Compilation message (stderr)

joi2019_ho_t3.cpp: In function 'bool check(std::__cxx11::string)':
joi2019_ho_t3.cpp:9:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < t.size(); i++)
                 ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...