您的位置:首页 > 其它

zoj1403

2013-02-28 12:50 176 查看
这么长时间终于自己做对一道题,只不过是用最笨的方法,哎!

前段时间一直在刷poj上面的题,现在刷zoj上面的题,各种格式错啊!看来得一段时间来适应啦!

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
using namespace std;
int cmp(const void *a,const void *b)
{
return *(char *)b-*(char *)a;
}
int main()
{
int target,i,j,k,l,m,len;
char s[15];
while(1)
{
scanf("%d",&target);
getchar();
scanf("%s",s);
if(target==0 && strcmp(s,"END")==0)
break;
len=strlen(s);
for(i=0; i<len; i++)
s[i]=s[i]-'A'+1;
qsort(s,len,sizeof(char),cmp);//降序排列
//	for(i=0; i<len; i++)
//			printf(" %d ",s[i]);
int sign=0;
for(i=0; i<len; i++)
{
for(j=0; j<len; j++)
{
if(i==j)
continue;
for(k=0; k<len; k++)
{
if(i==k || j==k)
continue;
for(l=0; l<len; l++)
{
if(i==l || j==l || k==l)
continue;
for(m=0; m<len; m++)
{
if(i==m || j==m || k==m || l==m)
continue;
int t=s[i]-pow(s[j],2)+pow(s[k],3)-pow(s[l],4)+pow(s[m],5);
if(t==target)
{
printf("%c%c%c%c%c\n",s[i]+'A'-1,s[j]+'A'-1,s[k]+'A'-1,s[l]+'A'-1,s[m]+'A'-1);
sign=1;
goto xy;
}
}
}
}
}
}
xy:     if(sign==0)
printf("no solution\n");
}
return 0;
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: