首页 > 代码库 > 【HDOJ】1271 整数对
【HDOJ】1271 整数对
1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 5 #define MAXN 105 6 int buf[MAXN]; 7 8 int comp(const void *a, const void *b) { 9 return *(int *)a - *(int *)b;10 }11 12 int main() {13 int m, n;14 int i, j, k, tmp;15 int a, b, c;16 17 while (scanf("%d", &n)!=EOF && n) {18 k = 1;19 for (m=0,i=0; i<10; ++i) {20 j = n%k;21 if ((j&1) == 0) {22 c = j>>1;23 // 11a+b = tmp;24 tmp = n/k;25 for (b=0; b<10; ++b) {26 if ((tmp||b) && (tmp-b)%11 == 0) {27 a = (tmp-b)/11;28 buf[m++] = n-a*k-c;;29 }30 }31 }32 if (((j+k)&1) == 0) {33 c = (j+k)>>1;34 // 11a+b+1 = tmp35 tmp = n/k-1;36 for (b=0; b<10; ++b) {37 if ((tmp||b) && (tmp-b)%11 == 0) {38 a = (tmp-b)/11;39 buf[m++] = n-a*k-c;40 }41 }42 }43 k *= 10;44 }45 if (m == 0) {46 printf("No solution.\n");47 } else {48 qsort(buf, m, sizeof(int), comp);49 printf("%d", buf[0]);50 for (i=1; i<m; ++i) {51 if (buf[i] != buf[i-1])52 printf(" %d", buf[i]);53 }54 printf("\n");55 }56 #ifndef ONLINE_JUDGE57 fflush(stdout);58 #endif59 }60 61 return 0;62 }
【HDOJ】1271 整数对
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。