洛谷p3392涂国旗
为什么我把scanf改成cin就对了呢?
#include<stdio.h>
#include<math.h>
#include<iostream>
#include<string.h>
#define infimax 2147483647
#define maxn 50
using namespace std;
int r, c;
int line12, line23;
int tot;
int mintot=infimax;
char flag[maxn + 10][maxn + 10];
void count(int wb, int br) {
tot = 0;
for (int i = 1; i <= wb; i++) {
for (int j = 1; j <= c; j++) {
if (flag[i][j] != 'W') {
tot++;
}
}
}
for (int i = wb+1; i <= br-1; i++) {
for (int j = 1; j <= c; j++) {
if (flag[i][j] != 'B') {
tot++;
}
}
}
for (int i = br; i <= r; i++) {
for (int j = 1; j <= c; j++) {
if (flag[i][j] != 'R') {
tot++;
}
}
}
if (tot < mintot) {mintot = tot; }
}
int main() {
//freopen("in.txt", "r", stdin);
scanf("%d%d", &r, &c);
getchar();
for (int i = 1; i <= r; i++) {
for (int j = 1; j <= c; j++) {
cin >> flag[i][j];
}
getchar();
}
for (int i = 1; i <= r - 2; i++) {
for (int j = i + 2; j <= r; j++) {
count(i, j);
}
}
printf("%d", mintot);
return 0;
}
/*
3 1
W
R
B
*/