社区讨论
我把每行划分用拟用for循环完成区间划分,但是有问题,咋办?
P3392涂条纹参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lpqfxb5b
- 此快照首次捕获于
- 2023/12/04 12:57 2 年前
- 此快照最后确认于
- 2023/12/04 17:09 2 年前
CPP
#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;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...