hdu 1015
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1015
题意:找符合题目给定公式字典序最后的字符串。
mark:暴力过……
代码:
#include <stdio.h> #include <string.h> #include <stdlib.h> int n,c[15]; char a[15], b[30] = "1ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int cmp(const void *a, const void *b) { return *(int *)b - *(int *)a; } void find() { int i,j,k,p,q,l; l = strlen(a); for(i = 0; i < l; i++) c[i] = a[i]-'A'+1; qsort(c, l, 4, cmp); for(i = 0; i < l; i++) for(j = 0; j < l; j++) { if(j == i) continue; for(k = 0; k < l; k++) { if(k == i || k == j) continue; for(p = 0; p < l; p++) { if(p == i || p == j || p == k) continue; for(q = 0; q < l; q++) { if(q == i || q == j || q == k || q == p) continue; if(c[i] - c[j]*c[j] + c[k]*c[k]*c[k] - c[p]*c[p]*c[p]*c[p] + c[q]*c[q]*c[q]*c[q]*c[q] == n) { printf("%c%c%c%c%c\n", b[c[i]], b[c[j]], b[c[k]], b[c[p]], b[c[q]]); return ; } } } } } puts("no solution"); } int main() { while(~scanf("%d%s", &n, a)) { if(!n && !strcmp(a, "END")) break; find(); } return 0; }