Submission #199831

#TimeUsernameProblemLanguageResultExecution timeMemory
199831Osama_AlkhodairySajam (COCI18_sajam)C++17
90 / 90
269 ms636 KiB
#include <bits/stdc++.h>
using namespace std;
#define finish(x) return cout << x << endl, 0
#define ll long long

const int N = 1001;

int n, k, g[N][N];
bitset <N> b[N];

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cin >> n >> k;
    for(int i = 0 ; i < n ; i++){
        string s;
        cin >> s;
        for(int j = 0 ; j < n ; j++){
            if(s[j] == 'x') b[i].set(j);
        }
    }
    int ans = n * n;
    for(int i = 0 ; i < n ; i++){
        int cur = 0;
        for(int j = 0 ; j < n ; j++){
            int c = (b[i] ^ b[j]).count();
            cur += min(c, n - c);
        }
        ans = min(ans, cur);
    }
    if(ans <= k) finish("DA");
    for(int i = 0 ; i < n ; i++){
        int cur = 0;
        b[0].flip(i);
        for(int j = 0 ; j < n ; j++){
            int c = (b[0] ^ b[j]).count();
            cur += min(c, n - c);
        }
        b[0].flip(i);
        if(cur < k) finish("DA");
    }
    cout << "NE\n";
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...