我把每行划分用拟用for循环完成区间划分,但是有问题,咋办?
  • 板块P3392 涂国旗
  • 楼主Redeption
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/12/4 12:57
  • 上次更新2023/12/4 17:09:14
查看原帖
我把每行划分用拟用for循环完成区间划分,但是有问题,咋办?
1029768
Redeption楼主2023/12/4 12:57
#include<stdio.h>
typedef struct
{
	int b;
	int w;
	int r;
}line;
line str[50];//用于存每行的白,红,蓝的数量

int main()
{
	int n, m;
	char ch;
	scanf("%d %d", &n, &m);
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < m; j++)
		{
			ch = getchar();
			while (ch == '\n')
			{
				ch = getchar();
			}
			switch (ch)
			{
			case 'W':
				str[i].w++;
				break;
			case 'B':
				str[i].b++;
				break;
			case 'R':
				str[i].r++;
				break;
			default:
				break;
			}
		}
	}//输入用getchar()时为了消去'\n'
	int num=0,min=2501;
	for (int i = 1; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            for (int ii = 0; ii < i; ii++) {
                num += str[ii].b + str[ii].r;
            }
            for (int ii = i; ii < j; ii++) {
                num += str[ii].w + str[ii].r;
            }
            for (int ii = j; ii < n; ii++) {
                num += str[ii].w + str[ii].b;
            }
            if (num < min) {
                min = num;
            }
            num = 0;
        }
    }



	printf("%d", min);
	return 0;
}
2023/12/4 12:57
加载中...