- 浏览: 73018 次
- 性别:
- 来自: 杭州
最新评论
见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); else printf("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; else return 0; }
发表评论
-
最小c编译器
2011-11-08 14:09 1491最小c编译器(来源 (最好在linux下操作))代码有好几个 ... -
the development of c language(转)
2011-11-08 09:25 1318c语言之父Dennis Ritchie 写的关于c语言开发历 ... -
C语言,你真的弄懂了么?
2011-11-07 12:42 1774程序(来源 ): #include <stdi ... -
pe文件格式实例解析
2011-11-07 10:05 0环境:windows xp 速龙3000+(即x86兼容32位 ... -
小型elf "Hello,World"程序
2011-11-06 23:59 1379参考链接:http://timelessname.com/el ... -
elf文件格式实例解析
2011-11-05 23:00 6364试验环境:archlinux 速龙3000+(即x86兼 ... -
高质量的c源代码
2011-11-03 10:18 1169现在自由软件及开源软件越来越流行,有大量的附带源程序 ... -
fltk 库
2011-09-26 19:47 1847fltk是一个小型、开源、支持OpenGL 、跨平台(win ... -
《Introduction to Computing Systems: From bits and gates to C and beyond》
2011-09-25 23:33 2189很好的一本计算机的入门书,被很多学校采纳作为教材,作者Yale ... -
csapp bufbomb实验
2011-09-16 14:21 4632csapp (《深入理解计算机系统》)一书中有一个关于缓冲区 ... -
the blocks problem(uva 101 or poj 1208)
2011-09-11 20:57 1841题目描述见:uva 101 or poj 1208 ... -
the blocks problem(uva 101 or poj 1208)
2011-09-11 20:56 0题目描述见:uva 101 or poj 1208 ... -
部分排序算法c语言实现
2011-09-02 14:51 1024代码比较粗糙,主要是用于对排序算法的理解,因而忽略了边界和容错 ... -
编译器开发相关资源
2011-08-31 08:40 1215开发编译器相关的一些网络资源: how difficu ... -
zoj 1025 Wooden Sticks
2011-07-23 20:25 972题目见:zoj 1025 先对木棒按照长度进行排序,然后再计 ... -
zoj 1088 System Overload
2011-07-23 17:30 1177约瑟夫环 (josephus problem )问题, ... -
zoj 1091 Knight Moves
2011-07-23 09:05 853题目见zoj 1091 使用宽度搜索优先来求解, ... -
zoj 1078 palindrom numbers
2011-07-22 19:31 1152题目见zoj 1078 主要是判断一个整数在基数为2 ... -
zoj 1006 do the untwist
2011-07-22 13:24 944题目见zoj 1006 或poj 1317 简单 ... -
zoj 3488 conic section
2011-07-22 12:23 1015题目见zoj 3488 很简单的题目,却没能一次搞定,因 ...
相关推荐
【标题】:“HDOJ题目分类 HDOJ题目分类” HDOJ,全称为Happy DingO Online Judge,是一个在线编程竞赛平台,它为参赛者提供了大量编程题目进行练习和比赛,旨在提升编程技能和算法理解。HDOJ的题目分类是帮助用户...
【标题】"hdoj.rar_Dividing HDOJ_OJ 1082_hdoj 10_杭电oj_杭电oj1000" 涉及的知识点主要围绕着“杭电在线判题系统(HDOJ)”以及其中的题目1082和10系列题目。HDOJ是杭州电子科技大学主办的一个在线编程竞赛平台,...
HDOJ1000.java HDOJ1001.java HDOJ1089.java HDOJ1090.java HDOJ1091.java HDOJ1092.java HDOJ1093.java HDOJ1094.java HDOJ1095.java HDOJ1108.java HDOJ1406.java HDOJ2001.java HDOJ2002.java HDOJ2003.java HDOJ...
【标题】"HDOJ 80题 Java"是一份专为Java程序员设计的在线编程挑战集合,源自杭州电子科技大学(HDOJ)的在线评测系统。这些题目旨在帮助Java开发者提升算法理解与编程能力,同时也为那些习惯于C++但希望在Java环境...
hdoj1001标程
ACM ICPC HDOJ1002
ACM ICPC HDOJ1001
《HDOJ离线版:探索编程竞赛的智慧宝库》 HDOJ,全称为“杭州电子科技大学在线评测系统”(Hangzhou Dianzi University Online Judge),是中国早期的编程竞赛平台之一,深受广大编程爱好者和在校学生的喜爱。HDOJ...
hdoj1004,解题代码,答案代码,欢迎下载
ACM ICPC HDOJ1003
ACM ICPC HDOJ1008
"hdoj--acm题目,有注释" 本资源提供了多个 ACM 题目的解决方案,代码都带有注释,非常适合初学者学习。下面是对每个题目的知识点总结: 2000:本题目要求输入三个字符,输出按照从小到大排序的结果。本代码使用了...
【标题】"HDOJ.rar_HD_HDOJ" 是一个与HDU(杭州电子科技大学)在线判题系统HDOJ相关的压缩包文件,其中包含了大量编程题目的源代码。 【描述】提到,这个压缩包包含了几百道HDOJ题目的源代码,这意味着它是一个宝贵...
根据给定的文件信息,我们可以总结出以下关于“hdoj2066最短路径”的相关知识点: ## hdoj2066最短路径概述 ### 标题解析:“hdoj2066最短路” - **hdoj**:High Density Online Judge(高密度在线评测系统),是...
【OJ.tar.gz_HDOJ _OJ源码_oj】是一个包含编程竞赛平台HDOJ(Happy Ding Octopus Judge)部分源代码的压缩文件。这个压缩包的主要目的是供学习和研究使用,尤其是针对50至60题目的解题算法和系统实现。通过分析这些...
一些HDOJ上的DP题目的小总结,但愿能帮到那些想专攻DP的人吧
【标题解析】:“hdoj 2013 多校训练4标程+解题报告”这个标题表明,这是一个关于2013年Happy Dream Online Judge(简称hdoj)组织的多校联合编程训练的资料。"4标程"意味着包含了四道题目(或者可能是四个阶段)的...
ACM ICPC HDOJ1000
### hdoj1002——大整数相加 #### 题目背景与目的 本题目来源于杭州电子科技大学的在线评测系统(HDOJ),编号为1002的大整数相加问题。该题目主要考察的是编程者对于大整数处理的基本技巧以及对数组、循环等基础...
【ACM HDOJ 课件】是一套涵盖了多种计算机科学竞赛中常见算法与理论的教育资源,主要针对ACM(国际大学生程序设计竞赛)和HDOJ(华中地区大学生在线编程题库)的训练。这些课件深入浅出地讲解了在解决复杂问题时所需...