hdoj 1015 Safecracker
见hdoj 1015 或 zoj 1403 或tzu 1308
我使用了枚举法,代码写的很罗嗦,可能还是深度优先搜索写起来更清晰。
/* hdoj 1015 */ #include <stdio.h> #include <string.h>#define MAX (12+5) #define RESLEN 5 int bubSort(int a[], int n); int str2Ints(char str[], int a[], int len); int ints2Str(int a[], char str[], int len); int isLegal(int i, int j, int k, int l, int m, int target); int main(void) {int n;char str[MAX],resStr[RESLEN+2];int intArray[MAX];int i,j,k,l,m;int len;int flag;while(scanf("%d %s", &n, str) == 2 && (n != 0 || strcmp("END",str) != 0)){flag = 0;memset(resStr,0,sizeof(resStr));memset(intArray,0,sizeof(intArray));len = strlen(str);str2Ints(str,intArray,len);bubSort(intArray,len);for(i = 0; i < len && !flag; i++)for(j = 0; j < len && !flag; j++)if(j != i){for(k = 0; k < len && !flag; k++)if(k != i && k != j){for(l = 0; l < len && !flag; l++)if(l != i && l != j && l != k){for(m = 0; m < len && !flag; m++)if( m != i && m != j && m != k && m != l){if(isLegal(intArray[i],intArray[j],intArray[k],intArray[l],intArray[m],n)){flag = 1;resStr[0] = 'A' + intArray[i] - 1;resStr[1] = 'A' + intArray[j] - 1;resStr[2] = 'A' + intArray[k] - 1;resStr[3] = 'A' + intArray[l] - 1;resStr[4] = 'A' + intArray[m] - 1;resStr[5] = '\0';break;}}}}}if(flag)printf("%s\n",resStr);elseprintf("no solution\n");}return 0; } int bubSort(int a[], int n) {int i,j,temp;for(i = n-1; i >= 0; i--)for(j = 0; j < i; j++)if(a[j] < a[j+1]){temp = a[j];a[j] = a[j+1];a[j+1] = temp;}return 0; } int str2Ints(char str[], int a[], int len) {int i;for(i = 0; i < len; i++)a[i] = str[i] - 'A' + 1;return 0; } int ints2Str(int a[], char str[], int len) {int i;for(i = 0; i < len; i++)str[i] = a[i] + 'A' - 1;str[i] = '\0';return 0; } int isLegal(int i, int j, int k, int l, int m, int target) {if(i - j * j + k * k * k - l * l * l * l + m * m * m * m * m == target)return 1;elsereturn 0; }
hdoj 1015 Safecracker相关推荐
- [HDU 1015] Safecracker
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1015 题目描述:给出一个目标值target,然后给出一个字符串,在字符串中A=1,B=2,...,Z= ...
- 【HDOJ】1015 Safecracker_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1015 [报告] 题目写的很长,忽略一系列废话,题意就是求一个方程v - w^2 + x^3 - y^4 ...
- HDOJ 1012-1020
最近感冒了,有点小咳嗽,做题速度比较慢,本以为这周会做的比较少,没想到全是水题...我做的也蛮开心的@.@...对自己无语 HDOJ 1012 这个题目蛮简单,就是输出格式比较烦,处理好格式基本就没问 ...
- 杭电OJ分类题目(2)
原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(2) HDU Water~~~ HDU 100 ...
- HDOJ ACM 题目
转载 HDOJ 题目分类(转) 1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 H ...
- HDOJ题目分类大全
版权声明:本文为博主原创文章,欢迎转载,转载请注明本文链接! https://blog.csdn.net/qq_38238041/article/details/78178043 杭电里面有很多题目, ...
- hdoj杭电问题分类
杭电上的题虽然多,但是一直苦于找不到问题分类,网页都是英文的,所以平时做题也没怎么看,今天仔细一看,问题分类竟然就在主页....做了那么久的题居然没发现,表示已经狗带..不要笑,不知道有没有像我一样傻 ...
- hdu HDOJ 题目分类(转)
动态规划:2037 2054 2084 hdu题目分类(转) http://apps.hi.baidu.com/share/detail/17053154 1001 整数求和 水题 1002 C语言实 ...
- hiho 1015 KMP算法 CF 625 B. War of the Corporations
#1015 : KMP算法 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在 ...
最新文章
- javascript的特点
- 卷积神经网络之 - Lenet
- CodeForces - 1267K Key Storage(组合数学)
- 网口扫盲二:Mac与Phy组成原理的简单分析(转)
- 电大法学本科计算机考试题,2016年电大-电大法学本科计算机网考答案.doc
- 深度行情模块添加【火币交易助手开发日记】
- [转]使用FFmpeg将视频推流到nginx,通过vlc拉流播放(通过命令的方式)
- 信号问题可根除,苹果新款 iPhone 将搭载高通基带?
- 力扣算法题—071简化路径
- 使用ffmpeg从视频中提取纯音频纯视频
- 请领导批阅文件怎么说_汇报措辞:你懂得怎样向领导汇报吗(审阅、审批、批阅、批示、查阅)?...
- 设备选型的重要性分析
- C#数据结构:两栈实现队列,两队列实现栈
- 希尔伯特(Hilbert)变换
- django的优缺点总结 - Python Web开发面试必备
- 移动宽带GM220-S光猫桥接
- python顺序表的实现_数据结构:队列 链表,顺序表和循环顺序表实现(python版)...
- 感谢这一年的尚不如愿,这是下一年必须努力的理由
- [Outlook] outlook如何实现自动CC和BCC邮件发送
- Linux学习笔记——文件大小和文件压缩命令