Codeforces Beta Round #4 (Div. 2 Only) C. Registration system hash
来源:互联网 发布:java游戏魔幻西游 编辑:程序博客网 时间:2024/04/30 03:44
题意
如果这个词第一次出现,输出ok
否则输出这个词,并且输出在此之前这个词出现了多少次
题解:
双hash+map就好了
//qscqesze#include <cstdio>#include <cmath>#include <cstring>#include <ctime>#include <iostream>#include <algorithm>#include <set>#include <vector>#include <sstream>#include <queue>#include <typeinfo>#include <fstream>#include <map>#include <stack>typedef long long ll;using namespace std;//freopen("D.in","r",stdin);//freopen("D.out","w",stdout);#define sspeed ios_base::sync_with_stdio(0);cin.tie(0)#define maxn 200001#define mod 10007#define eps 1e-9int Num;char CH[20];//const int inf=0x7fffffff; //нчоч╢Сconst int inf=0x3f3f3f3f;/*inline void P(int x){ Num=0;if(!x){putchar('0');puts("");return;} while(x>0)CH[++Num]=x%10,x/=10; while(Num)putchar(CH[Num--]+48); puts("");}*/inline ll read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f;}inline void P(int x){ Num=0;if(!x){putchar('0');puts("");return;} while(x>0)CH[++Num]=x%10,x/=10; while(Num)putchar(CH[Num--]+48); puts("");}//**************************************************************************************int get_hash(char *key){ ll N=1998585857; long long h=0; while(*key) h=(h*127+(*key++)+N)%N; return h%N;}int get_hash2(char *key){ ll N=127398127; long long h=0; while(*key) h=(h*127+(*key++)+N)%N; return h%N;}char s[40];map< pair<int,int> ,int>H;int main(){ int n=read(); for(int i=0;i<n;i++) { scanf("%s",s); pair<int,int> a; a.first=get_hash(s); a.second=get_hash2(s); H[a]++; if(H[a]==1) printf("OK\n"); else printf("%s%d\n",s,H[a]-1); }}
0 0
- Codeforces Beta Round #4 (Div. 2 Only) C. Registration system
- Codeforces Beta Round #4 (Div. 2 Only) C. Registration system hash
- Codeforces Beta Round #4 (Div. 2 Only) C. Registration system hash
- Codeforces Beta Round #4 (Div. 2 Only) C. Registration system(hash)
- Codeforces Beta Round #22 (Div. 2 Only)-C. System Administrator
- Codeforces Beta Round #4 (Div. 2 Only)
- Codeforces Beta Round #4 (Div. 2 Only)
- Codeforces Beta Round #4 (Div. 2 Only)
- Codeforces Beta Round #4 (Div. 2 Only)
- Codeforces Beta Round #22 (Div. 2 Only), problem: (C) System Administrator 图论+组合数
- Codeforces Beta Round #16 (Div. 2 Only)——C
- Codeforces Beta Round #18 (Div. 2 Only)——C
- Codeforces Beta Round #74 (Div. 2 Only)——C
- Codeforces Beta Round #87 (Div. 2 Only) C. Party
- C.Stripe(Codeforces Beta Round #18 (Div. 2 Only))
- Codeforces Beta Round #91 (Div. 2 Only) C. Lucky Sum
- Codeforces Beta Round #9 (Div. 2 Only): C
- Codeforces Beta Round #80 (Div. 2 Only)
- android simpledateformat 星期 Android SimapleDateFormat 日期格式的转换方法
- yarn 配置内存
- 阻止冒泡的方法
- Linux文件的权限详解
- spi时序
- Codeforces Beta Round #4 (Div. 2 Only) C. Registration system hash
- 华讯成都笔试+面试
- Ecstore官方视频教程
- Rails框架搭建
- ActiveMQ消息队列获取每个队列中的消费者数、剩余消息数、已消费数、队列名等信息 示例
- 【数据结构】C语言实现单链表
- 32个最热CPLD-FPGA论坛
- HDU 5478 Can you find it 随机化 数学
- Ecstore官方视频教程