重名剔除(Deduplicate)

描述

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

输入

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

输出

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

Example

Input

10
brioche
camembert
cappelletti
savarin
cheddar
cappelletti
tortellni
croissant
brioche
mapotoufu

Output

cappelletti
brioche

Restrictions

1 < n < 6 * 10^5

All nominations are only in lowercase. No other character is included. Length of each item is not greater than 40.

Time: 2 sec

Memory: 256 MB

https://dsa.cs.tsinghua.edu.cn/oj/problem.shtml?id=1150

散列表,瞎搞搞

#include<stdio.h>
#include<string.h>
typedef struct Hash
{Hash *next;char str[45];
}Hash;
Hash *s[600005];
char str[55];
int Sech(int x)
{int sum = 0;Hash *p = s[x];while(p->next!=NULL){p = p->next;if(strcmp(p->str+1, str+1)==0)sum++;if(sum==2)return sum;}Hash *temp = new Hash;temp->next = NULL;strcpy(temp->str+1, str+1);p->next = temp;return sum;
}
int main(void)
{int n, i, j, x, y;scanf("%d", &n);for(i=0;i<=600000;i++){s[i] = new Hash;s[i]->next = NULL;}for(i=1;i<=n;i++){scanf("%s", str+1);x = y = 0;for(j=1;str[j]!='\0';j++){x += (str[j]-'a'+1)*j;x %= 1003;}for(j--;j>=1;j--){y += (str[j]-'a'+j)*j;y %= 597;}y = y*1000+x;x = Sech(y);if(x==1)puts(str+1);}return 0;
}

重名剔除(Deduplicate)相关推荐

  1. PA9题解报告——重名剔除(Deduplicate)

    数据结构与算法实验2020夏第二批(中国石油大学) PA9题解报告--重名剔除(Deduplicate) 目录 题目描述 题目分析 编码实现 一.题目描述 1. 描述 Epicure先生正在编撰一本美 ...

  2. 清华OJ重名剔除(Deduplicate)

    重名剔除(Deduplicate) Description Mr. Epicure is compiling an encyclopedia of food. He had collected a l ...

  3. MOOC数据结构(下)(自主模式)-重名剔除(Deduplicate)

    重名剔除(Deduplicate) Description Mr. Epicure is compiling an encyclopedia of food. He had collected a l ...

  4. TsinghuaOj Programming Assignment #3.3 重名剔除(Deduplicate)

    重名剔除(Deduplicate) 描述 Epicure先生正在编撰一本美食百科全书.为此,他已从众多的同好者那里搜集到了一份冗长的美食提名清单.既然源自多人之手,其中自然不乏重复的提名,故必须予以筛 ...

  5. 清华数据结构重名剔除AC100

    1.首先需要找打大于600000的最大素数,寻找素数的方法,我用的是比较笨的方法,就是用x的平方根以下的数y去除,若x%y全部都不为0,则为素数. 2.对每一个菜谱进行编码,我的编码方法如下,具体的编 ...

  6. 不同模块下包重名怎么解决_模块

    模块 1. 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能. 2. 当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导 ...

  7. android id 重名_Android App 自定义权限重名不能安装解决办法

    场景1. A 应用 有两个版本 第一个 正式版 第二个测试版    测试版的包名 = 正式版+test ,在Android studio 中 也就是 applicationId  . 两个版本都可以成 ...

  8. Ajax实现简单用户名重名查询

    很早就想发布这篇POST了,Ajax实现简单用户名重名查询,引用了xmlhttprequest object pool,如下: XMLHttpRequest Object Pool /**  * XM ...

  9. java实现动态上传多个文件并解决文件重名问题

    java实现动态上传多个文件并解决文件重名问题 参考文章: (1)java实现动态上传多个文件并解决文件重名问题 (2)https://www.cnblogs.com/skycodefamily/p/ ...

最新文章

  1. 01Hadoop简介
  2. Gameplay 框架
  3. 奇异值分解讨论及其实现的计算步骤
  4. 谈“技术含量”的问题
  5. Python实现单例模式常量类
  6. elasticsearch scroll 一页最大数据量_elasticsearch 百亿级数据检索案例与原理
  7. DevCon.exe (DevCon Command Line Utility)
  8. Django模板层:DTL模板渲染-变量
  9. java long更大_java – 比Long.MAX_VALUE大的长度
  10. Jquery 实现动态添加输入框编号
  11. fpcx教程:在Final Cut Pro中添加多语言字幕
  12. JavaScript模拟终端输出
  13. C语言重载谭浩强,(完整)C语言谭浩强学习笔记(50页)-原创力文档
  14. FOC电机库 定点PID代码分析
  15. 神经网络ANN——SPSS实现
  16. Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes解决办法
  17. matlab学生作业代写,代做dataframe留学生作业、matlab编程代写代做、代做matlab实验作业、matlab作业报告帮写...
  18. 用 LSTM 预测股票价格
  19. android实现九宫格拼图小游戏
  20. 大气幼儿园html模板,幼儿园儿童HTML主题

热门文章

  1. 学python可以做什么职业-学完Python,能找到什么工作?工资多少?
  2. 媲美Siri语音 英朗自然语音识别系统体验
  3. SpringBoot 集成log4j2
  4. 【深度优先搜索】计蒜客:王子救公主
  5. 【数据结构和算法笔记】递归详解(附题)
  6. 【PYTHON笔记】:文件打开和关闭
  7. live555学习笔记-RTSP服务运作
  8. 悟空问答 模板 html,悟空问答上首页技巧每小时2500个阅读快速为自己吸粉.pdf
  9. 梦幻群侠传5帮派修炼_梦幻群侠传5唯美版
  10. win10执行npm出现Error: EBUSY: resource busy or locked 错误解决方法