HDU1015Safecracker——水题
来源:互联网 发布:巨人数据库 编辑:程序博客网 时间:2024/06/11 03:44
题意,就是给一个target,然后用后面的字母的编号和给的方程式,计算是否能相等,并输出最大的。
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
char a[15];int target;
int fun(int b,int c,int d,int e,int f)
{
if(b==c||b==d||b==e||b==f||c==d||c==e||c==f||d==e||d==f||e==f)
return 0;
//printf("%d %d %d %d %d\n",b,c,d,e,f);
int flag=b-c*c+d*d*d-e*e*e*e+f*f*f*f*f;
//printf("%d\n",flag);
if(flag==target)
return 1;
return 0;
}
int main()
{
while(scanf("%d",&target)!=EOF)
{
scanf("%s",a);
if(target==0&&strcmp(a,"END")==0) break;
int len=strlen(a);
sort(a,a+len);
char s[6];int ean=0;
for(int i=0;i<6;i++)
{
s[i]='\0';
}
for(int i=0;i<len;i++)
{
for(int j=0;j<len;j++)
{
for(int k=0;k<len;k++)
{
for(int l=0;l<len;l++)
{
for(int m=0;m<len;m++)
{
int can=fun(a[i]-'A'+1,a[j]-'A'+1,a[k]-'A'+1,a[l]-'A'+1,a[m]-'A'+1);
if(can==1)
{
ean=1;
s[0]=a[i];s[1]=a[j];s[2]=a[k];s[3]=a[l];s[4]=a[m];
}
}
}
}
}
}
if(ean==1)
printf("%s\n",s);
else
printf("no solution\n");
}
return 0;
}
- HDU1015Safecracker——水题
- hdu1015Safecracker
- HDU1015Safecracker
- HDU1015Safecracker
- hdu1015Safecracker
- Hdu1015Safecracker(dfs)
- poj2407——水题
- ZOJ 2358 —— 水题
- NOJ1088Gnome Sequencing——水题
- NOJ1089Duplicate Removal——水题
- A——直角三角形(水题)
- 水题——优先队列
- hdu 4730(java)—水题
- 【水题】TopCoder——SRM 556 ChocolateBar
- NuptOJ1040约数之和——水题
- NuptOJ1042区间最值——水题
- NOJ1050数的计数——水题
- NOJ1054回文回文!——水题
- Navicat 2003-can't connect to MYSQL server on 'localhost'(10061)
- 最优化问题中,牛顿法为什么比梯度下降法求解需要的迭代次数更少?
- org.w3c.dom(java dom)解析XML文档
- centos71安装retext5.0.2
- JavaWeb——JDBC_总结
- HDU1015Safecracker——水题
- Fiddler简介
- eclipse 加载tomcat7的问题,对于低版本也适用。
- Android 一个简单的计算器APP
- Android 自定义Dialog 实现类似ios7 UIAlertView
- Android中图形与图像处理初见面——绘图
- viewpager实现欢迎界面
- JavaWeb——HTTP协议头部分析
- 在对象中使用定时器