60分,枚举行数,不知道哪里错了
  • 板块P3392 涂国旗
  • 楼主Red_Cow
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/12/25 11:27
  • 上次更新2023/12/25 16:03:37
查看原帖
60分,枚举行数,不知道哪里错了
1132411
Red_Cow楼主2023/12/25 11:27
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int n,m,count=100086,w[50],b[50],r[50];
char a[50][50];
int min(int a,int b)
{
    if(a<b) return a;
    else return b;
}
int main()
{
    int i,j,k,ans;
    scanf("%d%d",&n,&m);
    getchar();
    for(i=0;i<n;i++)
        scanf(a[i]);

    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            if(a[i][j] != 'W') w[i]++;
            if(a[i][j] != 'B') b[i]++;
            if(a[i][j] != 'R') r[i]++;
        }
    }
    for(i=1;i<=n-2;i++)
    {
        ans = 0;
        for(j=1;j<=n-i-1;j++)
        {
            for(k=0;k<i;k++)
            {
                ans += w[k];
            }
            for(;k<i+j;k++)
            {
                ans += b[k];
            }
            for(;k<n;k++)
            {
                ans += r[k];
            }
            count = min(count,ans);
        }
    }
    printf("%d",count);
    return 0;
}
2023/12/25 11:27
加载中...