概述
https://vjudge.net/problem/SPOJ-HACKING
生成一个字串不在模式串中 长度有限制,可使用的字母有限制
适合乱搞,比如本代码中的随机
随机当然也要挑合适的地方随机,显然长度越长,碰撞的几率越小,那么我们就用最长长度随机
见代码
#include <bits/stdc++.h>
using namespace std;
int cnt;
std::map<string, int> mymap;
void solve(){
srand(time(NULL));
int k,n,m;
cin>>n>>m>>k;
string s;
cin>>s;
mymap.clear();
for(int i=0;i<s.size();i++){
string temp=s.substr(i,m);
mymap[temp]++;
}
while(1){
string ans;
for(int i=0;i<m;i++){
ans+='a'+rand()%k;
}
if(mymap.find(ans)==mymap.end()){
cout<<ans<<endl;
return;
}
}
}
int main(){
int t;cin>>t;
while(t--){
solve();
}
return 0;
}
最后
以上就是热情钥匙为你收集整理的HACKING的全部内容,希望文章能够帮你解决HACKING所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复