见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相关推荐

  1. [HDU 1015] Safecracker

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1015 题目描述:给出一个目标值target,然后给出一个字符串,在字符串中A=1,B=2,...,Z= ...

  2. 【HDOJ】1015 Safecracker_天涯浪子_新浪博客

    [题目]http://acm.hdu.edu.cn/showproblem.php?pid=1015 [报告] 题目写的很长,忽略一系列废话,题意就是求一个方程v - w^2 + x^3 - y^4 ...

  3. HDOJ 1012-1020

    最近感冒了,有点小咳嗽,做题速度比较慢,本以为这周会做的比较少,没想到全是水题...我做的也蛮开心的@.@...对自己无语 HDOJ 1012 这个题目蛮简单,就是输出格式比较烦,处理好格式基本就没问 ...

  4. 杭电OJ分类题目(2)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(2) HDU Water~~~ HDU 100 ...

  5. HDOJ ACM 题目

    转载 HDOJ 题目分类(转) 1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 H ...

  6. HDOJ题目分类大全

    版权声明:本文为博主原创文章,欢迎转载,转载请注明本文链接! https://blog.csdn.net/qq_38238041/article/details/78178043 杭电里面有很多题目, ...

  7. hdoj杭电问题分类

    杭电上的题虽然多,但是一直苦于找不到问题分类,网页都是英文的,所以平时做题也没怎么看,今天仔细一看,问题分类竟然就在主页....做了那么久的题居然没发现,表示已经狗带..不要笑,不知道有没有像我一样傻 ...

  8. hdu HDOJ 题目分类(转)

    动态规划:2037 2054 2084 hdu题目分类(转) http://apps.hi.baidu.com/share/detail/17053154 1001 整数求和 水题 1002 C语言实 ...

  9. hiho 1015 KMP算法 CF 625 B. War of the Corporations

    #1015 : KMP算法 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在 ...

最新文章

  1. javascript的特点
  2. 卷积神经网络之 - Lenet
  3. CodeForces - 1267K Key Storage(组合数学)
  4. 网口扫盲二:Mac与Phy组成原理的简单分析(转)
  5. 电大法学本科计算机考试题,2016年电大-电大法学本科计算机网考答案.doc
  6. 深度行情模块添加【火币交易助手开发日记】
  7. [转]使用FFmpeg将视频推流到nginx,通过vlc拉流播放(通过命令的方式)
  8. 信号问题可根除,苹果新款 iPhone 将搭载高通基带?
  9. 力扣算法题—071简化路径
  10. 使用ffmpeg从视频中提取纯音频纯视频
  11. 请领导批阅文件怎么说_汇报措辞:你懂得怎样向领导汇报吗(审阅、审批、批阅、批示、查阅)?...
  12. 设备选型的重要性分析
  13. C#数据结构:两栈实现队列,两队列实现栈
  14. 希尔伯特(Hilbert)变换
  15. django的优缺点总结 - Python Web开发面试必备
  16. 移动宽带GM220-S光猫桥接
  17. python顺序表的实现_数据结构:队列 链表,顺序表和循环顺序表实现(python版)...
  18. 感谢这一年的尚不如愿,这是下一年必须努力的理由
  19. [Outlook] outlook如何实现自动CC和BCC邮件发送
  20. Linux学习笔记——文件大小和文件压缩命令

热门文章

  1. git 命令 clone分支的代码
  2. react 16.6 懒加载 Lazy 尝鲜
  3. rsync服务扩展应用
  4. Object 对象详解
  5. 窄带物联网(NB-IoT)初步了解
  6. PHP-Manual的学习----【语言参考】----【类型】-----【对象】
  7. 发现保存GIF格式后相素发生变化咋办
  8. ppp和chap的区别
  9. 拳击 武术java父类,拳击是一种很有力量的武术类型
  10. mysql数据库容量和性能_新品速递丨容量盘性能提升超 300%,数据库支持 MySQL 8.0...