Submission #1263614

#TimeUsernameProblemLanguageResultExecution timeMemory
1263614NikoBaoticMonochrome Points (JOI20_monochrome)C++20
0 / 100
2095 ms328 KiB
#include "bits/stdc++.h" using namespace std; typedef long long ll; typedef pair<ll, ll> pii; #define all(x) x.begin(), x.end() #define sz(x) ((int) ((x).size())) #define pb push_back #define F first #define S second #define FIO ios_base::sync_with_stdio(false); cin.tie(0) const int N = 200; int n; string s; int st[N]; int run(vector<int> v) { for (int i = 0; i < n; i++) { if (v[v[i]] != i) return 0; if (s[v[i]] == s[i]) return 0; } /* cout << "CONF "; for (int x : v) { cout << x << " "; } cout << endl;*/ int ans = 0; for (int i = 0; i < n; i++) { if (i < v[i]) continue; for (int j = 0; j < n; j++) { st[j] = 0; } int cur = (v[i] + 1) % sz(v); vector<int> k; while (cur != i) { k.pb(cur); st[cur] = 1; cur++; cur %= sz(v); } for (int x : k) { if (st[v[x]] == 0) { ans++; } } } //cout << "ANS: " << ans << endl; return ans; } int main() { FIO; cin >> n; cin >> s; n *= 2; vector<int> v; for (int i = 0; i < n;i ++) { v.pb(i); } int ans = 0; do { ans = max(ans, run(v)); } while (next_permutation(all(v))); cout << ans / 2 << endl; 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...