杭电ACM 1015 很笨的暴力解法

来源:互联网 发布:关于网络的英语作文 编辑:程序博客网 时间:2024/06/05 18:14

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1015


#include<stdio.h>#include<stdlib.h>#include<string.h>int comp(const void *a, const void *b){return *(int*)b-*(int*)a;}int main(){int n;char s1[13];int a[13];int i, j, k, p, q, strLen;int flag = 0;while(scanf("%d %s", &n, s1)!=EOF){if(n==0&&(strcmp(s1,"END"))==0){break;}strLen = strlen(s1);for(i=0; i<strLen; i++){a[i] = s1[i]-'A'+1;}qsort(a, strLen, sizeof(int), comp);flag = 0;for(i=0; i<strLen; i++){for(j=0; j<strLen; j++){if(j == i) continue;for(k=0; k<strLen; k++){if(k==j || k==i) continue;for(p=0; p<strLen; p++){if(p==k || p==j || p==i) continue;for(q=0; q<strLen; q++){if(q==p || q==k || q==j || q==i) continue;if((      a[i]- a[j]*a[j]+ a[k]*a[k]*a[k]- a[p]*a[p]*a[p]*a[p]+ a[q]*a[q]*a[q]*a[q]*a[q])==n){flag = 1;break;}}if(flag) break;}if(flag) break;}if(flag) break;}if(flag) break;}if(flag == 0){printf("no solution\n");}else{printf("%c", a[i]+'A'-1);printf("%c", a[j]+'A'-1);printf("%c", a[k]+'A'-1);printf("%c", a[p]+'A'-1);printf("%c", a[q]+'A'-1);printf("\n");}}return 0;}


原创粉丝点击