#include<iostream>
#include<string>
#include<algorithm>
#include<cmath>
using namespace std;
int target;
string str;
int length;
double a[15];
bool cmp(char a,char b)
{
return a>b;
}
void solution();
int main(void)
{
while(1)
{
cin>>target>>str;
if(target==0&&str=="END")
{
break;
}
length=str.length();
sort(str.begin(),str.end(),cmp);
for(int i=0;i<length;i++)
{
a[i]=(str[i]-'A'+1);
}
solution();
}
return 0;
}
void solution()
{
int v,w,x,y,z;
double n;
for(v=0;v<length;v++)
{
for(w=0;w<length;w++)
{
for(x=0;x<length;x++)
{
for(y=0;y<length;y++)
{
for(z=0;z<length;z++)
{
n=a[v]-pow(a[w],2)+pow(a[x],3)-pow(a[y],4)+pow(a[z],5);
if(n==target&&z!=v&&z!=w&&z!=x&&z!=y
&&y!=v&&y!=w&&y!=x
&&x!=v&&x!=w
&&w!=v)
{
cout<<str[v]<<str[w]<<str[x]<<str[y]<<str[z]<<endl;
return;
}
}
}
}
}
}
cout<<"no solution"<<endl;
}
1015 Safecracker
最新推荐文章于 2020-05-02 14:13:00 发布