Thứ Năm, 28 tháng 4, 2022

FLAGS C++

#include<bits/stdc++.h>
using namespace std;

int minn=1000000000;
int a[10][10],f[10][10];
void nhap()
{
    char c;
    for(int i=1;i<=6;i++)
        for(int j=1;j<=9;j++)
        {
            cin>>c;
            a[i][j]=int(c);
        }
}
void tao_f_ngang(int x,int y, int z)
{
    for(int i=1;i<=2;i++)
        for(int j=1;j<=9;j++) f[i][j]=x;
    for(int i=3;i<=4;i++)
        for(int j=1;j<=9;j++) f[i][j]=y;
    for(int i=5;i<=6;i++)
        for(int j=1;j<=9;j++) f[i][j]=z;
}
void tao_f_doc(int x,int y, int z)
{
    for(int i=1;i<=6;i++)
        for(int j=1;j<=3;j++) f[i][j]=x;
    for(int i=1;i<=6;i++)
        for(int j=4;j<=6;j++) f[i][j]=y;
    for(int i=1;i<=6;i++)
        for(int j=7;j<=9;j++) f[i][j]=z;
}
int kc()
{
    int d=0;
    for(int i=1;i<=6;i++)
        for(int j=1;j<=9;j++)
            if(a[i][j]!=f[i][j]) d++;
    return d;
}
void giai()
{
    for(int i=65;i<=90;i++)
        for(int j=65;j<=90;j++)
            for(int k=65;k<=90;k++)
                if(i!=j && j!=k)
                {
                    tao_f_ngang(i,j,k);
                    int x=kc();
                    if (x<minn) minn=x;
                    tao_f_doc(i,j,k);
                    x=kc();
                    if (x<minn) minn=x;
                }
    cout<<minn;
}
int main()
{
    freopen("flags.inp","r",stdin);
    freopen("flags.out","w",stdout);
    nhap();
    giai();
}

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.