5782 Special Event 结构体排序

解决思路

 
  • 初始化:定义一个结构体 node 来存储每一天的可用人数和天的编号。
 
  • 读取输入:读取每个人的可用性,并统计每一天的可用人数。
 
  • 排序:根据每一天的可用人数进行排序。
 
  • 输出结果:输出可用人数最多的天的编号,如果有多天满足条件,用逗号分隔。
    复制代码
    #include <bits/stdc++.h>
    #define ll long long
    using namespace std;
    const int N = 1e3 + 10;
    
    // 定义一个结构体来存储每一天的可用人数和天的编号
    struct node {
        int x, id;
    };
    
    // 定义一个数组来存储每一天的可用人数和天的编号
    node a[6];
    int n;
    
    // 比较函数,用于按照可用人数对天进行排序
    bool cmp(node a, node b) {
        return a.x > b.x;
    }
    
    int main() {
        // 初始化每一天的可用人数和天的编号
        for (int i = 1; i <= 5; i++) {
            a[i].x = 0;
            a[i].id = i;
        }
    
        // 读取感兴趣参加活动的人数
        cin >> n;
        // 读取每个人的可用性,并统计每一天的可用人数
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= 5; j++) {
                char c;
                cin >> c;
                if (c == 'Y') a[j].x++;
            }
        }
    
        // 按照可用人数对天进行排序
        sort(a + 1, a + 1 + 5, cmp);
    
        // 输出可用人数最多的天的编号
        cout << a[1].id;
        for (int i = 2; i <= 5; i++) {
            if (a[i].x == a[1].x) {
                cout << "," << a[i].id;
            }
        }
        return 0;
    }
    复制代码

     

posted @   CRt0729  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-09-30 TZOJ 3692: 紧急援救 最短路/dijstra
点击右上角即可分享
微信分享提示