您的位置:首页 > Web前端

HDU1015Safecracker

2016-03-21 18:21 232 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1015

看代码就知道这道题有多水

代码:

#include <cstdio>

#include <algorithm>

#include <cstring>

using namespace std;

char s[20];

int target;

int a[20];

bool cmp(int a,int b)

{

return a > b;

}

int main()

{

while(~scanf("%d%s",&target,s))

{

if(target == 0 && strcmp(s,"END") == 0)

break;

int len = strlen(s);

for(int i = 0;i < strlen(s);++i)

{

a[i] = s[i] - 'A' + 1;

}

sort(a,a + strlen(s),cmp);

int flag = 0;

for(int i = 0;i < len;++i)

{

if(flag) break;

for(int j = 0;j < len;++j)

{

if(flag) break;

for(int k = 0;k < len;++k)

{

if(flag) break;

for(int g = 0;g < len;++g)

{

if(flag) break;

for(int l = 0;l < len;++l)

{

if(i!=j&&i!=k&&i!=g&&i!=l&&j!=k&&j!=g&&j!=l&&k!=g&&k!=l&&g!=l)

{

if(a[i]-a[j]*a[j]+a[k]*a[k]*a[k]-a[g]*a[g]*a[g]*a[g]+a[l]*a[l]*a[l]*a[l]*a[l] == target)

{

printf("%c%c%c%c%c\n",a[i]+'A' - 1,a[j]+'A'-1,a[k]+'A'-1,a[g]+'A'-1,a[l]+'A'-1);

flag = 1;

break;

}

}

}

}

}

}

}

if(!flag)

printf("no solution\n");

}

return 0;

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