dotcpp0740312


私信TA

用户名:dotcpp0740312

访问量:559

签 名:

等  级
排  名 4951
经  验 1547
参赛次数 0
文章发表 18
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:
使用hash即可

为了方便,使用set储存哈希值相同的字符串
注意事项:
定义set集合要定义成set

set g[1001]; //定义
g[hashs(s)].insert(s); //插入字符串,set自动排序并去重
g[hashs(s)].count(s); //查找集合内元素s的个数

参考代码:

#include <bits/stdc++.h>
using namespace std;
set g[1001];
int hashs(string str)
{
    int sum = 0,t = 1;
    for(int i = 0; i < str.size(); i++)
    {
        sum = (sum+str[i]*t%128)%128;
        t = (t*256)%128;
    }
    return sum;
}
int main()
{
    string s;
    int n; cin >> n;
    for(int i = 1; i > s;
        if(s == "add")
        {
        getline(cin,s);
        g[hashs(s)].insert(s);
        }
        else
        {
            getline(cin,s);
            if(g[hashs(s)].count(s)) cout << "yes\n";
            else cout << "no\n";
        }
    }
    return 0;
}


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区