2021牛客寒假算法基础集训营4 A.九峰与签到题(签到)

A.九峰与签到题

题目链接:https://ac.nowcoder.com/acm/contest/9984/A

题目描述:

在这里插入图片描述

九峰正在准备一场毒瘤比赛,他是如此毒瘤以致于他想方设法降低通过率,他认为任意时间内通过率大于等于50%的题为签到题,现按照时间顺序给出整场比赛提交记录,请你输出哪些是签到题。

输入描述:

第一行输入两个整数m,n,表示提交记录个数和题目个数(m≤10^5,n≤20)
接下来m行,每行输入一个正整数ai 和一个字符串op,表示题目序号和评测结果(ai≤n,opϵ{‘‘AC",‘‘UNAC"})

输出描述:

从小到大输出签到题的序号,按空格分割。若没有则输出-1。

示例1:

输入
10 2
1 AC
2 AC
1 AC
1 UNAC
1 AC
2 AC
2 UNAC
1 UNAC
2 UNAC
1 UNAC
输出
1 2
备注:
一道题没有任何提交时通过率认为是100%
若没有提交记录则被视为非签到题

解题思路:

签到题计算通过率然后打印出来AC大于等于UNAC(通过率大于等于50%)的题号。
(啊被题目中的任意时间坑了很久emm…语文没学好实惨无比的一批…)

代码如下:

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<string>
using namespace std;
int cnt[10010],vis[10010];
int main(){
    int m,n,a;
    scanf("%d%d",&m,&n);
    char op[20];
    while(m--){
        scanf("%d %s",&a,op);
        if(op[0]=='A')cnt[a]++;
        else cnt[a]--;
        if(cnt[a]<0)
            vis[a]=1;
    }
    for(int i=1;i<=n;i++)
        if(!vis[i]){
            printf("%d ",i);
        }
        return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值