杭电acm 1015题
马上要找工作了,锻炼下自己的写程序能力,不多说,上代码
/********************杭电acm 1015 已AC
在这个程序里,使用穷举法来实现,但是输出顺序需要安装字典的最大
来输出
1,在升序排序时,可以直接使用sort这个函数,也可以自己写..
在自己写的程序里面要注意下标的越界问题
***********************************/ #include "iostream" using namespace std; #define Max 20
int main(void)
{
int target;
int len;
int temp=;
int mark=;
char letters[Max];
int flag[]={};
int nu[Max];
cin>>target;
while(target)
{
for(int f=;f<;f++)
flag[f]=;
mark=;
cin>>letters;
len=strlen(letters);
if((target==)&&(!strcmp(letters,"END")))
break;
for(int i=;i<len;i++)
nu[i]=letters[i]-'A'+;
//将所有的都排好顺序,这样才能保证枚举出来的一组是按字典最大的一组
for(i=;i<len;i++)
{
for(int t=;t<len-i;t++)//注意这里排序的时候t=1,不然可能会下标越界
{if(nu[t-]>nu[t])
{
int tt=nu[t];
nu[t]=nu[t-];
nu[t-]=tt;
char ss=letters[t];
letters[t]=letters[t-];
letters[t-]=ss;
}
}
}
//for(int t=0;t<len;t++)
// cout<<nu[t]<<" ";
//cout<<endl; for(i=;i<len;i++)
{
for(int j=;j<len;j++)
{
for(int m=;m<len;m++)
{
for(int n=;n<len;n++)
{
for(int s=;s<len;s++)
{
if(i!=j&&i!=m&&i!=n&&i!=s&&j!=m&&j!=n&&j!=s&&m!=n&&m!=s&&n!=s)
{temp=nu[i]-nu[j]*nu[j]+nu[m]*nu[m]*nu[m]-nu[n]*nu[n]*nu[n]*nu[n]+nu[s]*nu[s]*nu[s]*nu[s]*nu[s];
if(target==temp)
{ flag[]=i;flag[]=j;flag[]=m;flag[]=n;flag[]=s;
mark=; // goto Out;
}
} }
}
}
}
}
//Out:
if(mark==)
cout<<"no solution"<<endl;
else
cout<<letters[flag[]]<<letters[flag[]]<<letters[flag[]]<<letters[flag[]]<<letters[flag[]]<<endl;
cin>>target; } return ; }
这个题目直接使用暴力穷举法可以解决,估计是系统的数据弱了.....
杭电acm 1015题的更多相关文章
- 杭电acm 1076题
水题,一个求闰年的题目,复习一下闰年的求法.... 1,如果能被4整除但不能被100整除的是闰年 2,能被400整除的是闰年 题目大意是:给定一个开始年份T以及一个正数N,要求求出从T开始,到了哪一年 ...
- 杭电acm 1037题
本题应该是迄今为止最为简单的一道题,只有一组输入,输出也简单.... /****************************************** 杭电acm 1037题 已AC ***** ...
- 杭电acm 1038题
本题比较简单,但是需要掌握几个小技巧,先上代码 /************************************* 杭电ACM 1038题,已AC ********************* ...
- 杭电acm 1049题
一道水题..... 大意是一条1inch的虫子在一个n inch的盒子的底部,有足够的能够每一分钟往上爬u inch,但是需要休息一分钟,这期间会往下掉d inch,虫子爬到盒子口即认为结束.要求计算 ...
- 杭电acm 1033题
Problem Description For products that are wrapped in small packings it is necessary that the sheet o ...
- 杭电ACM刷题(1):1002,A + B Problem II 标签: acmc语言 2017-05-07 15:35 139人阅读 评
最近忙于考试复习,没有多少可供自己安排的时间,所以我利用复习之余的空闲时间去刷刷杭电acm的题目,也当对自己编程能力的锻炼吧. Problem Description I have a very si ...
- 杭电acm刷题顺序
最近兴趣来了,闲暇之余,回顾大学期间刷过的杭电acm那些入门级别的题,以此巩固基础知识! 以下参考刷题顺序,避免入坑 原文传送门:https://blog.csdn.net/liuqiyao_01/a ...
- 杭电acm 1040题
本题是一个非常简单的升序排序题目,但那时在做的时候把题目看错了,导致花费了大量的时间来检查为什么WA,最后发现题目看错了..... /********************************* ...
- 杭电acm 1098题
Problem Description Ignatius is poor at math,he falls across a puzzle problem,so he has no choice bu ...
随机推荐
- SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
一.spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运 ...
- 字符串数组是可以保存并输出null。只不过不好动态指定长度
java里如何输出才能让字符串数组不显示出null 2014-05-23 17:46笨妞纤霏 | 浏览 1360 次 编程语言 代码如下package testCourse; public clas ...
- java-08多态与异常处理
1.运行以下代码: public class ParentChildTest { public static void main(String[] args) { Parent parent=new ...
- Codeforces 808D. Array Division
题目大意 给定你一个长为\(n\)的序列,问能否在最多一次取出某一元素然后插入到某一点后可以将整个序列分成两段使得其两段的元素之和相同. \(n \leq 10^5\) 题解 发现插入操作实际上是让某 ...
- 使用window.print()后,未关闭打印页面,原网页不能操作
使用window.print()后,未关闭打印页面,原网页不能操作,此时可以试着用window.location.reload()重新加载页面解决问题.
- 洛谷【P1004】方格取数
浅谈\(DP\):https://www.cnblogs.com/AKMer/p/10437525.html 题目传送门:https://www.luogu.org/problemnew/show/P ...
- C#中获取Excel文件的第一个表名
// 2.以数据库方式打开并输入数据// 此方式将xls文件所在目录看作数据库,其中的xls文件看作数据库表,表名即文件名(不加扩展名).// 函数importExcelTo ...
- [转载]网络虚拟化中的 offload 技术:LSO/LRO、GSO/GRO、TSO/UFO、VXLAN
offload 现在,越来越多的网卡设备支持 offload 特性,来提升网络收/发性能.offload 是将本来该操作系统进行的一些数据包处理(如分片.重组等)放到网卡硬件中去做,降低系统 CPU ...
- Errors occurred during the build. Errors occurred during the build. Errors running builder 'JavaScript Validator' on XXX
选择项目--右键Properties--Builders--如果有则取消第一项“JavaScript Validator”的勾. http://blog.csdn.net/error_case/art ...
- 反射+属性标签 通用Excel导入导
在做通用导入导出的时候,最关键的应该就是实体导出导入的顺序了,但是编译器在编译的时候又无法自定义属性编译的顺序,所以需要一个自定义的特性标签来指定实体类导出的顺序,然后通过自定义的比较器将属性排序 因 ...