CCCPaste

Untitled

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef long long ll;
const int maxn = 22;
char mat[maxn][maxn];
 
int main() {
    ios_base::sync_with_stdio(false);
    int n;
    cin >> n;
    for(int i = 0; i < n; i++) {
        for(int j = 0; j < n; j++) {
            cin >> mat[i][j];
        }
    }
    vector v;
    for(int i = 0; i < n; i++) {
        v.push_back(i);
    }
    int res = 2e9;
    do {
        int c = 0;
        for(int i = 0; i < n; i++) {
            for(int j = 0; j < i; j++) {
                if(mat[v[i]][v[j]] == 'D') {
                    c++;
                }
            }
        }
        res = min(res, c);
    } while(next_permutation(v.begin(), v.end()));
    cout << res << endl;
    return 0;
}
/*
 M..
 ###
 ..V
 **/