重名剔除(Deduplicate)

技术重名剔除(Deduplicate) 重名剔除(Deduplicate)清华OJ——数据结构与算法实验(中国石油大学)重名剔除(Deduplicate)Description
Mr. Epicure

重名剔除(消除重复数据)

清华OJ——数据结构与算法实验(中国石油大学)

重名剔除(Deduplicate)

Description

伊壁鸠鲁先生正在编纂一本食品百科全书。他收集了一长串由几个肚腩提名的候选人名单。由于名单中的候选人是由几个人提名的,名字重复是不可避免的。伊壁鸠鲁先生拜访你寻求帮助。他要求你消除所有重复,这对你来说是一项容易的任务。所以请抓住这个机会,让所有的肚腩都出名。

Input

第一行一个整数表示提名名单的长度。在接下来的n行中,每一行都给出了每个提名。

Output

所有重复的提名(如果重复出现多次,则只输出一次),按照重复首先出现的顺序排序。

Example

投入

10

奶油蛋卷

卡门伯特

意大利水饺

萨伐仑松饼

切达干酪

意大利水饺

特尔尼

羊角面包

奶油蛋卷

mapotoufu

输出

意大利水饺

奶油蛋卷

Restrictions

1 n 6 * 10^5

所有提名都是小写的。不包括其他字符。每个项目的长度不超过40。

时间: 2秒

内存: 256兆字节

Hints

混杂

描述

老饕老师正在编撰一本美食百科全书。为此,他已从众多的同好者那里搜集到了一份冗长的美食提名清单。既然源自多人之手,其中自然不乏重复的提名,故必须予以筛除伊壁鸠鲁老师因此登门求助,并认定此事对你而言不过是"一碟小菜",相信你不会错过在美食界扬名立万的这一良机

输入

第一行为一个整数n,表示提名清单的长度。以下n行各为一项提名

输出

所有出现重复的提名(多次重复的仅输出一次),且以其在原清单中首次出现重复(即第二次出现)的位置为序

样例

见英文题面

限制

1 n 6 * 10^5

提名均由小写字母组成,不含其它字符,且每项长度不超过40

时间:2秒

空间:256兆字节

提示

散列

1 #包括ecstdio

2 #包括字符串

3 #定义N 605000

四使用命名空间标准;

5个常量无符号长长基数=27;

6

七个字符[无][45];

8

9结构

10 {

11 int索引;

12个无符号长长h;

13

14 bool运算符(常量s)常量

15 {

16 if(h!=s.h)返回hs.h

17返回索引

18 }

19 };

20党卫队逮捕[N];

21 int vis[N]={ 0 };

22不锈钢;

23

24空排序(国际,国际)

25 {

26 if(l==r)返回;

27 int mid=(l r)/2;

28排序(l,中);

29排序(中间1,r);

30

31 int c1=l,C2=mid 1;

32 int c=l;

33

34 while(c1=midc2=r)

35 {

36 if(arr[C1]arr[C2])ls[c]=arr[C1];

其他37个

38ls[c]=arr[C2];

39 }

40

41而(C1=中)ls[c]=arr[C1];

42而(C2=r)ls[c]=arr[C2];

43表示(int I=l;I=r;一)arr[I]=ls[I];

44 }

45

46 int main()

47 {

48 int n;

49 scanf('%d ',n);

50表示(int I=0;在;(一)

51 {

52 scanf('%s ',s[I]);

53 int len=strlen(s[I]);

54无符号很长很长现在=0;

55

对于(int j=0;jlenj)

57 {

58 now=now * base s[I][j];

59 }

60 arr[i].索引=我;

61 arr[i].h=现在;

62 }

63

64排序(0,n-1);

65 int C1=1;

66

67//for(int I=0;在;i )printf('%llu %d\n ',arr[i].啊,啊[我]。索引);

68

69 while(c1n)

70 {

71 if(arr[c1]).h==arr[c1-1].h)

72 {

73 vis[arr[C1]].index]=1;

74 while(arr[c1]).h==arr[c1-1].C1;

75 }

76其他

77 {

78 c1

79 }

80 }

81

82表示(int I=0;在;(一)

83 if(vis[i])printf('%s\n ',s[I]);

84

85返回0;

86 }

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/121790.html

(0)

相关推荐

  • 桑蚕丝和真丝的区别,真丝与桑蚕丝的区别是什么

    技术桑蚕丝和真丝的区别,真丝与桑蚕丝的区别是什么要搞清楚真丝与桑蚕丝的区别,首先要知道什么是真丝,什么是桑蚕丝。桑蚕丝是一种人工养殖的以桑叶为食物的动物桑蚕所吐的丝纤维,主要成分是蛋白质,里面含有十八种对人体有益的氨基酸

    生活 2021年10月26日
  • leetcode翻转链表(leetcode如何删除链表)

    技术LeetCode怎样反转链表这篇文章主要为大家展示了“LeetCode怎样反转链表”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“LeetCode怎样反转链表”这篇文章吧。

    攻略 2021年12月15日
  • Java基础学习笔记

    技术Java基础学习笔记 Java基础学习笔记Java基础思维导图
    左键在“新标签页打开图片”可查看高清大图一、Java入门特性与优势
    高可用 高并发 高性能
    面向对象、多线程、简单性(去掉了内存分配、

    礼包 2021年12月1日
  • jquery如何增加一个style属性

    技术jquery如何增加一个style属性本篇内容主要讲解“jquery如何增加一个style属性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jquery如何增加一个sty

    攻略 2021年11月17日
  • 用锲而不舍造句,锲而不舍的“而”字是什么意思

    技术用锲而不舍造句,锲而不舍的“而”字是什么意思“而”应为表假设的连词用锲而不舍造句。 这个词来自“锲而舍之,朽木不折,锲而不舍,金石可镂”(《劝学》-荀子); 我们再来看而的用法,“而”在文言文中常用作连词,但连词的关

    生活 2021年10月24日
  • 如何用Python和Pygame模块构建一个游戏框架

    技术如何用Python和Pygame模块构建一个游戏框架如何用Python和Pygame模块构建一个游戏框架,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。通

    攻略 2021年10月26日