读入预处理换成注释内的就能ac 不然全wa
  • 板块P3392 涂国旗
  • 楼主Xleprime
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/2/15 21:45
  • 上次更新2023/11/5 03:13:52
查看原帖
读入预处理换成注释内的就能ac 不然全wa
393223
Xleprime楼主2021/2/15 21:45
//P3392 涂国旗
#include <cstdio>
#include <cstdlib>
#include <iostream>

using namespace std;
int n, m;
int w[55] = {}, b[55] = {}, r[55] = {};
int white, blue, red;
int main()
{
    char ch;
    scanf("%d %d", &n, &m);
    getchar();

    int minn = 0x7fffffff;
    for (int i = 1; i <= n; ++i)
    {
        white = blue = red = 0;
        for (int j = 1; j <= m; ++j)
        {
            ch = getchar();
            if (ch == 'W')
                w[i]++;
            else if (ch == 'B')
                b[i]++;
            else
                r[i]++;
        }
        getchar();
    }
    // for (int i = 1; i <= n; ++i)
    // {
    //     white = blue = red = 0;
    //     string str;
    //     cin >> str;
    //     for (int j = 0; j < m; ++j)
    //     {
    //         if (str[j] == 'W')
    //             w[i]++;
    //         else if (str[j] == 'B')
    //             b[i]++;
    //         // else if (ch == 'R')
    //         else
    //             r[i]++;
    //     }
    // }

    for (int i = 1; i <= n - 2; ++i)
        for (int j = i + 1; j <= n - 1; ++j)
        {
            int amt = 0;
            for (int k = 1; k <= i; ++k)
                amt += (b[k] + r[k]);
            for (int k = i + 1; k <= j; ++k)
                amt += (w[k] + r[k]);
            for (int k = j + 1; k <= n; ++k)
                amt += (w[k] + b[k]);
            minn = minn <= amt ? minn : amt;
        }
    cout << minn;
    // printf("%d", minn);
    system("pause");
    return 0;
}
2021/2/15 21:45
加载中...