1 条题解

  • 0
    @ 2025-8-24 22:47:09

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar 封禁用户
    None

    搬运于2025-08-24 22:47:09,当前版本为作者最后更新于2023-04-29 21:53:27,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    分析

    我们建立一个结构体来存每一天的能够开会的人数和这一天是星期几。在计算出每一天的能够开会的人数后,我们将这个结构体按照人数降序排序。注意,在排序的时候,若这两天人数一样,我们要优先考虑靠前的。排完之后,先输出排在第一位是星期几,在看后面的是否与其人数相同即可。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    int n;
    char ch[1000][1000];
    struct node{
    	int ans,id;
    }a[100000];
    bool cmp(node a,node b)
    {
    	if(a.ans==b.ans) return a.id<b.id;
    	else return a.ans>b.ans;
    }
    signed main()
    {
    	cin>>n;
    	for(int i=1;i<=5;i++) a[i].id=i;
    	for(int i=1;i<=n;i++)
    		for(int j=1;j<=5;j++)
    			cin>>ch[i][j];
    	for(int j=1;j<=5;j++)
    		for(int i=1;i<=n;i++)
    			if(ch[i][j]=='Y') a[j].ans++;
    	sort(a+1,a+5+1,cmp);
    	cout<<a[1].id;
    	for(int i=2;i<=5;i++)
    		if(a[i].ans==a[1].ans) cout<<","<<a[i].id;
    }
    

    注:要注意输出哦。

    • 1

    信息

    ID
    8410
    时间
    3000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者