重名剔除(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)

相关推荐

  • 开头的英文,以g开头的英语单词有哪些

    技术开头的英文,以g开头的英语单词有哪些这个。。。好多啊。。。glass杯子,玻璃,眼镜grond地板gainvt.赢得;挣得  galleryn.画廊;美术品陈列室  gallonn.加仑  gamen.游戏;运动;比

    生活 2021年10月24日
  • 长气球怎么做花样简单,长气球灯笼的做法怎么做

    技术长气球怎么做花样简单,长气球灯笼的做法怎么做首先我们要准备材料:气球、剪刀、胶水或胶带、废弃卷纸筒。第一步:准备一个不用的卷纸筒和一张与卷纸筒一样长的气球长气球怎么做花样简单,气球长度能包住卷纸筒即可。第二步:用红色

    生活 2021年10月24日
  • spring学习:概述及IOC理论推导

    技术spring学习:概述及IOC理论推导 spring学习:概述及IOC理论推导新建一个空白的maven项目
    2 .1.1、分析实现
    我们先用我们原来的方式写一段代码 .
    1、先写一个UserDao接

    礼包 2021年12月15日
  • fedora安装软件命令(fedora u盘安装)

    技术fedora 16下如何安装使用mysql小编给大家分享一下fedora 16下如何安装使用mysql,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了

    攻略 2021年12月18日
  • 网页布局中CSS布局调试的有效方法是这样的

    技术网页布局中CSS布局调试的有效方法是这样的网页布局中CSS布局调试的有效方法是这样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。网页布局中CSS布局调

    攻略 2021年11月11日
  • xamarin开发安卓app教程(xamarin安卓移动开发视频教程)

    技术如何更改Xamarin Android App名称这篇文章将为大家详细讲解有关如何更改Xamarin Android App名称,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。更改X

    攻略 2021年12月21日