T254770 [CZOI2023] 哈希
题目描述
>Hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
——百度百科
今天我们的题目正是和hash相关的。
利用hash函数,我们可以将一个字符串转换成一串数字。但是字符串的是各种各样的,但是数字的排列情况是有限的,这就会导致存在两个字符串经过hash函数之后变为同一串数字,我们称其为**哈希冲突**,现在就给你一个字符串,以及hash算法的相关参数,要求你找出任意一个与其产生哈希冲突的字符串。
考虑到可能2022届的同学们未学习过hash算法,下面给出一段hash函数的简单实现的代码作为参考:
```cpp
inline int Hash(string str,int base,int mod){
int res=0;
for(int i=0;i
输入格式
第一行:两个数,$base$ 和 $mod$ ,含义对应上述参考代码。
第二行:一行字符串。
输出格式
一行,输出**任意一个**与给定字符串产生哈希冲突的字符串。
说明/提示
**样例#1说明**
你会发现下面两行代码的输出是一样的,这说明两个字符串经过hash函数处理后得到的数字是一样的,意味着产生了哈希碰撞。
```cpp
cout