poj1248

来源:互联网 发布:农村淘宝怎么设置地址 编辑:程序博客网 时间:2024/06/06 00:51
#include
#include
#include
using namespace std;
int d[500];
bool f(int tar,char c[]){
int len=strlen(c),flag=0;
char a[10]={'a'},b[10]={'a'};
for(int e=0;e
  for(int f=0;f
    for(int g=0;g
     for(int h=0;h
        for(int i=0;i
        {
        if(e!=f&&e!=g&&e!=h&&e!=i&&f!=g&&f!=h&&f!=i&&
 g!=h&&g!=i&&h!=i&&d[c[e]]-pow(d[c[f]],2)+
 pow(d[c[g]],3)-pow(d[c[h]],4)+pow(d[c[i]],5)==tar)
         {        
        a[0]=c[e];a[1]=c[f];a[2]=c[g];a[3]=c[h];a[4]=c[i];
         if(flag==0){
         strcpy(b,a);
         flag=1;
         }
         else if(strcmp(a,b)>0)strcpy(b,a);         
         }
        }
        if(flag){
        cout<<b<<endl;
         return true;
        }
        return false;
}
int main(){
int tar;
char c[15];
for(int i=65;i<=90;i++)
 d[i]=i-64; 
while(cin>>tar>>c && tar!=0 &&strcmp("END",c)!=0)
{
if(!f(tar,c))
 cout<<"no solution"<<endl;
}   
  return 0;
}

0 0
原创粉丝点击