hdu 1716
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1716
题意:中文……
mark:只有四位数,直接暴力破了。。
代码:
#include <stdio.h> #include <stdlib.h> int cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; } int main() { int a[4],sum,p1,p2; int i,j,k,s,f; f = 0; while(scanf("%d%d%d%d", a, a+1, a+2, a+3), a[0]+a[1]+a[2]+a[3]) { if(f++) printf("\n"); qsort(a, 4, 4, cmp); for(i = 0; i < 4; i++) { s = 0; if(i && a[i] == a[i-1]) continue; if(!a[i]) continue; p1 = a[i]; a[i] = -1; for(j = 0; j < 4; j++) { if(j && a[j] == a[j-1]) continue; if(j == i) continue; p2 = a[j]; a[j] = -2; for(k = 0; k < 4; k++) { if(k && a[k] == a[k-1]) continue; if(k == i || k == j) continue; sum = 10*p1 + p2; sum = 10*sum + a[k]; sum = 10*sum + a[6-i-j-k]; if(s++) printf(" "); printf("%d", sum); } a[j] = p2; } a[i] = p1; printf("\n"); } } return 0; }