Submission #776859

# Submission time Handle Problem Language Result Execution time Memory
776859 2023-07-08T10:29:09 Z vjudge1 Sajam (COCI18_sajam) C++17
45 / 90
51 ms 4220 KB
#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,cev2=0,cev3=0,oim=0,xim=0,gec2=OYY,tr=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';
                tr++;
            }
            else f+='x';
        }
        ger[i]=f;
    }
    int gec=n*n;
    if(gec%2!=0)gec++;
    gec/=2;
    //cout<<gec<<endl;
    if(tr==n*n/2 && n%2==0){
        cout<<"DA"<<'\n';;
    }
    else 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];
            }
        }
        int gec=OYY;
        for(int i=0;i<n;i++){
            gec=OYY;
            gec2=OYY;
            xi=0,oi=0;
            oim=0,xim=0;
            for(int j=0;j<n;j++){
                if(sor1[j][i]=='x')xi++;
                else oi++;
            }
            for(int j=0;j<n;j++){
                if(sor1[i][j]=='x')xim++;
                else oim++;
            }
            gec=min(oi,xi);
            gec2=min(oim,xim);
            cev+=gec;
            cev1+=gec2;
            //cout<<cev<<" "<<cev1<<endl;
        }
        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;
            gec2=OYY;
            xi=0,oi=0;
            for(int j=0;j<n;j++){
                if(sor1[i][j]=='x')xi++;
                else oi++;
            }
            for(int j=0;j<n;j++){
                if(sor1[j][i]=='x')xim++;
                else oim++;
            }
            gec=min(xi,oi);
            gec2=min(xim,oim);
            cev2+=gec;
            cev3+=gec2;
            //cout<<cev2<<" "<<cev3<<endl;
        }
        int sonuc=min(cev,min(cev1,min(cev2,cev3)));

    //}
    //////////////////////////////
    for(int i=0;i<n;i++){
            if(ger[i][1]=='o'){
                sor1[i]=ger[i];
            }
            else{
                sor1[i]=s[i];
            }
        }
        gec=OYY;
        for(int i=0;i<n;i++){
            gec=OYY;
            gec2=OYY;
            xi=0,oi=0;
            oim=0,xim=0;
            for(int j=0;j<n;j++){
                if(sor1[j][i]=='x')xi++;
                else oi++;
            }
            for(int j=0;j<n;j++){
                if(sor1[i][j]=='x')xim++;
                else oim++;
            }
            gec=min(oi,xi);
            gec2=min(oim,xim);
            cev+=gec;
            cev1+=gec2;
            //cout<<cev<<" "<<cev1<<endl;
        }
        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;
            gec2=OYY;
            xi=0,oi=0;
            for(int j=0;j<n;j++){
                if(sor1[i][j]=='x')xi++;
                else oi++;
            }
            for(int j=0;j<n;j++){
                if(sor1[j][i]=='x')xim++;
                else oim++;
            }
            gec=min(xi,oi);
            gec2=min(xim,oim);
            cev2+=gec;
            cev3+=gec2;
            //cout<<cev2<<" "<<cev3<<endl;
        }
        int son2=min(cev,min(cev1,min(cev2,cev3)));
        if(min(sonuc,son2)<=k)cout<<"DA"<<'\n';
        else cout<<"NE"<<'\n';
}
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 3 ms 852 KB Output is correct
3 Correct 4 ms 1108 KB Output is correct
4 Correct 18 ms 2920 KB Output is correct
5 Correct 4 ms 1108 KB Output is correct
6 Correct 2 ms 596 KB Output is correct
7 Correct 13 ms 1108 KB Output is correct
8 Correct 44 ms 2944 KB Output is correct
9 Correct 3 ms 468 KB Output is correct
10 Correct 44 ms 3028 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Incorrect 1 ms 340 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 9 ms 2112 KB Output is correct
2 Correct 14 ms 2500 KB Output is correct
3 Correct 8 ms 1748 KB Output is correct
4 Correct 7 ms 1616 KB Output is correct
5 Correct 13 ms 2772 KB Output is correct
6 Correct 5 ms 1264 KB Output is correct
7 Correct 9 ms 2004 KB Output is correct
8 Correct 10 ms 2132 KB Output is correct
9 Correct 8 ms 724 KB Output is correct
10 Correct 49 ms 4220 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 2644 KB Output is correct
2 Correct 12 ms 2644 KB Output is correct
3 Correct 7 ms 1620 KB Output is correct
4 Correct 8 ms 2004 KB Output is correct
5 Correct 9 ms 2112 KB Output is correct
6 Correct 15 ms 3156 KB Output is correct
7 Correct 4 ms 1060 KB Output is correct
8 Correct 8 ms 1876 KB Output is correct
9 Correct 29 ms 2124 KB Output is correct
10 Correct 51 ms 4220 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 1668 KB Output is correct
2 Correct 8 ms 1680 KB Output is correct
3 Incorrect 16 ms 4180 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 17 ms 4180 KB Output is correct
2 Correct 16 ms 4052 KB Output is correct
3 Incorrect 15 ms 3040 KB Output isn't correct
4 Halted 0 ms 0 KB -