"某E的真实姓名为b,L队的真实姓名为a,请问字典序应该如何定义?"
“别急,让我掷个骰子……”
于是,他将序列打乱,并比较了大小。
“咦,这个序列怎么不对?别急,让我掷个骰子……”
于是,他将序列打乱,并比较了大小。
“过啦!”
猴子算法:(能AC)
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int s[128];
char ans[128];
bool cmp(string s1,string s2){//s1<s2吗?
for(int i=0,len=min(s1.length(),s2.length());i<len;i++){
if(s[s1[i]]<s[s2[i]]) return true;
else if(s[s1[i]]>s[s2[i]]) return false;
}
return s1.length()<s2.length();
}
void init(){
for(char ch='a';ch<='z';++ch){
s[ch]=ch-'a';
}
}
int main(){
init();
string s1,s2;
cin >> s1 >> s2;
while(cmp(s1,s2)){
random_shuffle(s+'a',s+'z'+1);
}
for(char ch='a';ch<='z';++ch){
ans[s[ch]]=ch;
}
cout<< ans;
return 0;
}