제출 #1254177

#제출 시각아이디문제언어결과실행 시간메모리
1254177sinatbtfardMonochrome Points (JOI20_monochrome)C++20
4 / 100
4 ms328 KiB
#include <bits/stdc++.h>

#define int long long

using namespace std;

int n, iw[10], ib[10];
string s;

void read (){
	cin >> n >> s;
	assert(n <= 8);
	int b = 0, w = 0;
	for (int i = 0; i < 2 * n; i++){
		if (s[i] == 'W'){
			iw[w] = i;
			w++;
		}
		else{
			ib[b] = i;
			b++;
		}
	}
}

bool check (int x, int y, int nx, int ny){
	return ((min(x, nx) < y && max(x, nx) > y) != (min(x, nx) < ny && max(x, nx) > ny));
}

int ans;

void solve (){
	vector <int> p(n);
	iota(p.begin(), p.end(), 0);
	do {
		int res = 0;
		for (int i = 0; i < n; i++)
			for (int j = i + 1; j < n; j++)
				res += check(ib[i], ib[j], iw[p[i]], iw[p[j]]);
		ans = max(ans, res);
	}while(next_permutation(p.begin(), p.end()));
}

void print (){
	cout << ans;
}

int32_t main (){
	ios_base::sync_with_stdio(0), cin.tie(0);
	read();
	solve();
	print();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...