Submission #991861

#TimeUsernameProblemLanguageResultExecution timeMemory
991861danikoynovSecurity Gate (JOI18_security_gate)C++14
12 / 100
5039 ms460 KiB
#include<bits/stdc++.h> #define endl '\n' using namespace std; typedef long long ll; void speed() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); } const ll mod = 1000000007; int n; string s; void solve() { cin >> n >> s; s = "#" + s; int cnt = 0; for (int i = 1; i <= n; i ++) { if (s[i] == 'x') cnt ++; } int res = 0; for (int mask = 0; mask < (1 << cnt); mask ++) { int bit = 0; string t = s; for (int i = 1; i <= n; i ++) { if (t[i] == 'x') { //cout << "here " << mask << " " << bit << " " << (mask & (1 << bit)) << endl; if ((mask & (1 << bit)) > 0) t[i] = '('; else t[i] = ')'; bit ++; } } bool done = false; for (int i = 1; i <= n; i ++) for (int j = i; j <= n; j ++) { int pf = 0; bool tf = true; for (int d = 1; d <= n; d ++) { int c = -1; if (t[d] == '(') c = 1; if (d >= i && d <= j) c *= -1; pf += c; if (pf < 0) { tf = false; break; } } if (pf != 0) tf = false; if (tf) { ///cout << i << " : " << j << endl; done = true; break; } } int pf = 0; bool tf = true; for (int d = 1; d <= n; d ++) { int c = -1; if (t[d] == '(') c = 1; pf += c; if (pf < 0) { tf = false; break; } } if (pf != 0) tf = false; if (tf) { ///cout << i << " : " << j << endl; done = true; } if (done) res ++; ///cout << t << " " << done << endl; } cout << res << endl; } int main() { speed(); solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...