求助 #2 WA
查看原帖
求助 #2 WA
367168
Joker_1212楼主2022/7/14 15:22

源码:

/* By @Joker_1212 */
#include <bits/stdc++.h>
#define ull unsigned long long
#define ll long long
using namespace std;

inline void pre()
{
#ifdef LOCAL
    freopen("./in.in", "rb", stdin);
    freopen("./out.out", "wb", stdout);
#endif
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
}

int arr[55][3]; // WBR

inline int eval(int beg, int a, int b, int end)
{
    return (arr[a - 1][0] - arr[beg - 1][0]) + (arr[b - 1][1] - arr[a - 1][1]) + (arr[end - 1][2] - arr[b - 1][2]);
}

int main()
{
    pre();
    int n, m;
    string line;
    cin >> n >> m;
    getline(cin, line);
    for (int i = 1; i <= n; ++i)
    {
        getline(cin, line);
        for (int j = 0; j < m; ++j)
        {
            if (line[j] == 'W')
                ++arr[i][1], ++arr[i][2];
            else if (line[j] == 'B')
                ++arr[i][0], ++arr[i][2];
            else if (line[j] == 'R')
                ++arr[i][0], ++arr[i][1];
        }
        arr[i][0] += arr[i - 1][0];
        arr[i][1] += arr[i - 1][1];
        arr[i][2] += arr[i - 1][2];
    }
    int mn = INT_MAX;
    for (int i = 2; i < m - 1; ++i)
    {
        for (int j = i + 1; j < m; ++j)
        {
            int x = eval(1, i, j, n + 1);
            if (mn > x)
                mn = x;
        }
    }
    cout << mn << endl;
    return 0;
}

评测记录:https://www.luogu.com.cn/record/79530578

求大佬调错

2022/7/14 15:22
加载中...