重名剔除(Deduplicate)
重名剔除(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)相关推荐
- PA9题解报告——重名剔除(Deduplicate)
数据结构与算法实验2020夏第二批(中国石油大学) PA9题解报告--重名剔除(Deduplicate) 目录 题目描述 题目分析 编码实现 一.题目描述 1. 描述 Epicure先生正在编撰一本美 ...
- 清华OJ重名剔除(Deduplicate)
重名剔除(Deduplicate) Description Mr. Epicure is compiling an encyclopedia of food. He had collected a l ...
- MOOC数据结构(下)(自主模式)-重名剔除(Deduplicate)
重名剔除(Deduplicate) Description Mr. Epicure is compiling an encyclopedia of food. He had collected a l ...
- TsinghuaOj Programming Assignment #3.3 重名剔除(Deduplicate)
重名剔除(Deduplicate) 描述 Epicure先生正在编撰一本美食百科全书.为此,他已从众多的同好者那里搜集到了一份冗长的美食提名清单.既然源自多人之手,其中自然不乏重复的提名,故必须予以筛 ...
- 清华数据结构重名剔除AC100
1.首先需要找打大于600000的最大素数,寻找素数的方法,我用的是比较笨的方法,就是用x的平方根以下的数y去除,若x%y全部都不为0,则为素数. 2.对每一个菜谱进行编码,我的编码方法如下,具体的编 ...
- 不同模块下包重名怎么解决_模块
模块 1. 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能. 2. 当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导 ...
- android id 重名_Android App 自定义权限重名不能安装解决办法
场景1. A 应用 有两个版本 第一个 正式版 第二个测试版 测试版的包名 = 正式版+test ,在Android studio 中 也就是 applicationId . 两个版本都可以成 ...
- Ajax实现简单用户名重名查询
很早就想发布这篇POST了,Ajax实现简单用户名重名查询,引用了xmlhttprequest object pool,如下: XMLHttpRequest Object Pool /** * XM ...
- java实现动态上传多个文件并解决文件重名问题
java实现动态上传多个文件并解决文件重名问题 参考文章: (1)java实现动态上传多个文件并解决文件重名问题 (2)https://www.cnblogs.com/skycodefamily/p/ ...
最新文章
- 01Hadoop简介
- Gameplay 框架
- 奇异值分解讨论及其实现的计算步骤
- 谈“技术含量”的问题
- Python实现单例模式常量类
- elasticsearch scroll 一页最大数据量_elasticsearch 百亿级数据检索案例与原理
- DevCon.exe (DevCon Command Line Utility)
- Django模板层:DTL模板渲染-变量
- java long更大_java – 比Long.MAX_VALUE大的长度
- Jquery 实现动态添加输入框编号
- fpcx教程:在Final Cut Pro中添加多语言字幕
- JavaScript模拟终端输出
- C语言重载谭浩强,(完整)C语言谭浩强学习笔记(50页)-原创力文档
- FOC电机库 定点PID代码分析
- 神经网络ANN——SPSS实现
- Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes解决办法
- matlab学生作业代写,代做dataframe留学生作业、matlab编程代写代做、代做matlab实验作业、matlab作业报告帮写...
- 用 LSTM 预测股票价格
- android实现九宫格拼图小游戏
- 大气幼儿园html模板,幼儿园儿童HTML主题
热门文章
- 学python可以做什么职业-学完Python,能找到什么工作?工资多少?
- 媲美Siri语音 英朗自然语音识别系统体验
- SpringBoot 集成log4j2
- 【深度优先搜索】计蒜客:王子救公主
- 【数据结构和算法笔记】递归详解(附题)
- 【PYTHON笔记】:文件打开和关闭
- live555学习笔记-RTSP服务运作
- 悟空问答 模板 html,悟空问答上首页技巧每小时2500个阅读快速为自己吸粉.pdf
- 梦幻群侠传5帮派修炼_梦幻群侠传5唯美版
- win10执行npm出现Error: EBUSY: resource busy or locked 错误解决方法