제출 #776790

#제출 시각아이디문제언어결과실행 시간메모리
776790vjudge1Sajam (COCI18_sajam)C++17
45 / 90
21 ms5096 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define OYY 1000000000005
#define faster ios_base::sync_with_stdio(false); cin.tie(NULL);
#define mid (start+end)/2
#define mod 1000000007

int32_t main(){
    faster
    int n,k;
    cin>>n>>k;
    string s[n],ger[n],sor1[n];
    int cev=0,xi=0,oi=0,cev1=0;
    for(int i=0;i<n;i++){
        cin>>s[i];
        string f="";
        for(int j=0;j<n;j++){
            if(s[i][j]=='x'){
                f+='o';
            }
            else f+='x';
        }
        ger[i]=f;
    }
    int gec=n*n;
    if(gec%2!=0)gec++;
    gec/=2;
    if(k>=gec){
        cout<<"DA"<<'\n';
    }
    else{
        for(int i=0;i<n;i++){
            if(ger[i][0]=='o'){
                sor1[i]=ger[i];
            }
            else{
                sor1[i]=s[i];
            }
            //cout<<sor1[i]<<'\n';
        }
        int gec=OYY;
        for(int i=0;i<n;i++){
            gec=OYY;
            xi=0,oi=0;
            for(int j=0;j<n;j++){
                if(sor1[j][i]=='x')xi++;
                else oi++;
            }
            gec=min(oi,xi);
            cev+=gec;
        }
        for(int i=0;i<n;i++){
            if(ger[0][i]=='o'){
                for(int j=0;j<n;j++){
                    sor1[j][i]=ger[j][i];
                }
            }
            else{
                for(int j=0;j<n;j++){
                    sor1[j][i]=s[j][i];
                }
            }
        }
        gec=OYY;
        for(int i=0;i<n;i++){
            gec=OYY;
            xi=0,oi=0;
            for(int j=0;j<n;j++){
                if(sor1[i][j]=='x')xi++;
                else oi++;
            }
            gec=min(xi,oi);
            cev1+=gec;
            //cout<<xi<<" "<<oi<<endl;
        }
        if(min(cev,cev1)<=k)cout<<"DA"<<'\n';
        else cout<<"NE"<<'\n';
    }
    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...
#Verdict Execution timeMemoryGrader output
Fetching results...