1 条题解

  • 0
    @ 2026-9-30 12:32:52

    C++ :

    
    /* 枚举 4 个兵种与数字 1~4 的 24 种对应关系,取最大胜场 */
    #include <cstdio>
    #include <algorithm>
    using namespace std;
    int cnt[4][4];
    int main(){
        int n;
        if(scanf("%d", &n) != 1) return 0;
        for(int i = 0; i < n; i++){
            int x, y;
            scanf("%d %d", &x, &y);
            if(x >= 1 && x <= 4 && y >= 1 && y <= 4) cnt[x - 1][y - 1]++;
        }
        int p[4] = {0, 1, 2, 3}, best = -1;
        do {
            int w = 0;
            for(int d = 0; d < 4; d++)
                for(int e = 0; e < 4; e++)
                    if(p[e] == (p[d] + 1) % 4) w += cnt[d][e];
            if(w > best) best = w;
        } while(next_permutation(p, p + 4));
        printf("%d\n", best);
        return 0;
    }
    
    
    • 1

    信息

    ID
    2573
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者