真不知道哪错了
查看原帖
真不知道哪错了
993522
ZhangChenLin楼主2024/11/28 21:36

跪求大佬指点,自己试了几个数据都没问题啊

#include<stdio.h>
#include<stdlib.h>

struct Three_Color
{
    int w;
    int b;
    int r;
}tc[53];

int main()
{
    //n行m列
    int n,m;
    scanf("%d %d",&n,&m);
    for(int x=0;x<n;x++)
    {
        tc[x].b=0;
        tc[x].r=0;
        tc[x].w=0;
        for(int y=0;y<m;y++)
        {
            char ch;
            scanf("%c",&ch);
            if(ch=='\n')
            {
                scanf("%c",&ch);
            }
            if(ch=='W')
            {
                tc[x].w++;
            }
            else if(ch=='R')
            {
                tc[x].r++;
            }
            else if(ch=='B')
            {
                tc[x].b++;
            }
        }
    }

    int min=25000;
    int sum;
    for(int a=1;a<=n-2;a++)
    {
        sum=0;
        //算出1
        for(int i=0;i<a;i++)
        {
            sum+=tc[i].b+tc[i].r;
        }
        int t=sum;
        for(int b=1;b<=n-1-a;b++)
        {
            //算出2
            for(int i=a;i<a+b;i++)
            {
                sum+=tc[i].w+tc[i].r;
            }
            //算出3
            for(int i=a+b;i<n;i++)
            {
                sum+=tc[i].w+tc[i].b;
            } 
            if(sum<min)
            {
                min=sum;  
            }
            sum=t;    
        }
    }
    printf("%d",min);
}
2024/11/28 21:36
加载中...