现在的位置: 首页 > 综合 > 正文

poj1248

2016年10月22日 ⁄ 综合 ⁄ 共 754字 ⁄ 字号 评论关闭
#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;
}

【上篇】
【下篇】

抱歉!评论已关闭.