zoukankan      html  css  js  c++  java
  • Acjoy群赛D-Grade题解

    #include <stdio.h>
    #include <string.h>
    #include<stdlib.h>
    #include<algorithm>
    using namespace std;
    const int N = 10005;
    int vis[N], n;
    struct Num {
        int value;
        int cnt;
    }num[N];
    
    bool cmp(Num a, Num b) {//结构体排序
        if (a.cnt != b.cnt)
            return a.cnt > b.cnt;
        return a.value < b.value;
    }
    
    int main() {
        int t, cas = 1;
        scanf("%d", &t);
        while (t--) {
            memset(vis, 0, sizeof(vis));
            scanf("%d", &n);
            int a, k = 0;
            for (int i = 0; i < n; i++) {
                scanf("%d", &a);
                int temp = 10000 - (100 - a) * (100 - a);
                if (!vis[temp]) {
                    vis[temp]++;
                    num[k].cnt = 0;
                    num[k++].value = temp;
                }
                else
                    vis[temp]++;
            }
            for (int i = 0; i < k; i++)
                num[i].cnt = vis[num[i].value];//这样可以避免再次从头到尾的查找
            sort(num, num + k, cmp);
            int m = 1;
            for (int i = 0; i < k - 1; i++) {
                if (num[i].cnt == num[i + 1].cnt)
                    m++;
                else
                    break;
            }
            if (m == k && k != 1) {
                printf("Case #%d:
    Bad Mushroom
    ", cas++);
                continue;
            }
            printf("Case #%d:
    ", cas++);
            printf("%d", num[0].value);
            for (int i = 1; i < m; i++)
                printf(" %d", num[i].value);
            printf("
    ");
        }
        return 0;
    }
    
  • 相关阅读:
    JAVA-JDBC
    如何优雅地拼SQL的in子句
    Groovy 语言尝鲜
    小而美的CNC机器
    GCode软件和资料
    基于PC的运动控制
    CAD/CAM软件
    工控硬件
    数控系统
    Visual Studio 2019 Community 版离线注册
  • 原文地址:https://www.cnblogs.com/wlxtuacm/p/5712296.html
Copyright © 2011-2022 走看看