当前位置: 首页 > news >正文

SDNU 1533 寻找复读机

Description

某小队里一共有 n 个人,他们的编号是 1..n,其中有一些人本质上是复读机。
底层群员柳予欣发现,如果一个人的本质是复读机,那么他每次发的消息一定跟群里的上一条消息一样,特别地第一个发消息的人一定不是复读机。
某不愿透露姓名的管理员现在搞到了一份聊天记录,他想请你找出所有可能是复读机的群友。

Input

多组输入。
每组输入的第一行两个正整数 n,m,表示群里的人数和聊天记录的总条数。
接下来 m 行按时间顺序给出聊天记录,每行有一个正整数 x 和一个小写字母字符串 S,表示群友 x 发了消息 S。
1≤ n≤ 1000
1≤ m≤ 1000
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <cmath>
using namespace std;

#define ll long long

int main()
{
    char str[1010][110];
    int ans[1010], a, x, n, m, j, temp;
    while (~scanf("%d%d", &n, &m))
    {
        temp = 0;//控制空格输出
        memset(ans, 0, sizeof(ans));//设每个人都是复读机
        scanf("%d%s", &a, str[0]);
        for (int i = 1; i < m; i++)
        {
            scanf("%d%s", &x, str[i]);//第x个人的复读情况
            if (strcmp(str[i], str[i - 1]))    ans[x] = 1;//若不是复读机,则单独标记
        }
        ans[a] = 1;//特别的,第一个肯定不是复读机
        for (int i = 1; i <= n; i++)
            if (!ans[i])//如果是复读机
            {
                if (temp)//控制空格
                    printf(" ");
                temp = 1;
                printf("%d", i);
            }
        printf("\n");
    }
    return 0;
}

 

1≤ |S|≤ 100

Output

输出一行,将所有可能是复读机的群友的编号按照从小到大排序后输出,每两个编号之间隔一个空格。

Sample Input

3 5
1 gugugu
2 gugugu
1 gugu
3 tingzhifudu
2 tingzhifudu

Sample Output

2

转载于:https://www.cnblogs.com/RootVount/p/10350999.html

相关文章:

  • Rust语言开发基础(八)Rust的接口及其实现
  • Flask 源码流程,上下文管理
  • ThoughtWorks 2016年第1期DNA活动总结
  • Android开发者之——做一个能服务自己的东西,好不好看都不重要
  • 软件事务内存导论(三)用Akka/Multiverse STM实现并发
  • 本地jar安装到maven仓库 和 ivy仓库方法
  • XUL 用户界面语言介绍
  • Reddit引入Envoy支持架构改造,性能显著提升
  • 弄懂Favicon
  • 基于django的视频点播网站开发-step15-项目部署
  • php任务队列
  • OpsRamp推出以服务为中心的AIOps和云监控功能
  • C# 如何在Excel 动态生成PivotTable
  • 08.Android之View事件问题
  • .naturalWidth 和naturalHeight属性,
  • [译]如何构建服务器端web组件,为何要构建?
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 3.7、@ResponseBody 和 @RestController
  • CAP 一致性协议及应用解析
  • CentOS7 安装JDK
  • go append函数以及写入
  • isset在php5.6-和php7.0+的一些差异
  • Java基本数据类型之Number
  • mysql外键的使用
  • Netty源码解析1-Buffer
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 前端存储 - localStorage
  • 学习笔记TF060:图像语音结合,看图说话
  • 移动端唤起键盘时取消position:fixed定位
  • 通过调用文摘列表API获取文摘
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #if 1...#endif
  • #NOIP 2014# day.2 T2 寻找道路
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • ()、[]、{}、(())、[[]]命令替换
  • (1)常见O(n^2)排序算法解析
  • (39)STM32——FLASH闪存
  • (day 12)JavaScript学习笔记(数组3)
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (一)Neo4j下载安装以及初次使用
  • (转)视频码率,帧率和分辨率的联系与区别
  • ***监测系统的构建(chkrootkit )
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NET程序员迈向卓越的必由之路
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .NET学习教程二——.net基础定义+VS常用设置
  • /var/log/cvslog 太大
  • ?php echo ?,?php echo Hello world!;?
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具