杭电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 ...
随机推荐
- Windows下载安装虚拟机和CentOS7
1,想要在Windows系统中安装linux系统,首先需要安装一个虚拟机VMware VMware 12下载地址:https://my.vmware.com/cn/web/vmware/info/sl ...
- [转载]]Java开发如何在线打开Word文件
此方案使用了PageOffice产品实现在线打开Word文档: 1. 首先从PageOffice官网下载产品开发包,http://www.zhuozhengsoft.com/dowm/ ,下载Page ...
- fastadmin学习文档
https://doc.fastadmin.net/docs/index.html 介绍 FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架. 主要特性 基于Auth ...
- 进程、线程、ThreadLlocal
1.线程是最小的执行单位,而进程中至少一个线程组:如果调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间 Unix/Linux操作系统提供了一个fork()系统调用,它非常 ...
- c++ 修改stl set中的元素
set的迭代器it有const修饰符,那么对它元素的修改就必然不能成功了.但是有时候遇到要修改stl set元素的问题,这个问题一般的解决方法是先erase这个元素,然后再insert,这样效率很低, ...
- C程序设计语言阅读笔记
预处理器 ->.i 编译器 >.s 汇编器 >.o 链接器 --可执行文件 ------------------ math.h头文件包含各种数学函数的声明,所有函数都返回一个 ...
- UVA - 11107 Life Forms (广义后缀自动机)
题意:给你n个字符串,求出在超过一半的字符串中出现的所有子串中最长的子串,按字典序输出. 对这n个字符串建广义后缀自动机,建完后每个字符串在自动机上跑一遍,沿fail树向上更新所有子串结点的出现次数( ...
- 排列(加了点小set就过了,哈哈哈)
Ray又对数字的列产生了兴趣: 现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数. 输入描述: 1 2 3 4 1 1 2 3 0 1 2 3 0 0 0 0输出 ...
- Java String Split Method
Java String.split() method 有如下几种特殊情况: 1. 分隔符出现在首尾 public static void main(String args[]) { String St ...
- Yii 利用layer删除数据
一.视图 <tr id="rm_<?php echo $v->category_id;?>"> <td><?php echo $v- ...