HDU 4726 Kia's Calculation
来源:互联网 发布:网络情缘一线牵林更新 编辑:程序博客网 时间:2024/04/28 02:55
Doctor Ghee is teaching Kia how to calculate the sum of two integers. But Kia is so careless and alway forget to carry a number when the sum of two digits exceeds 9. For example, when she calculates 4567+5789, she will get 9246, and for 1234+9876, she will get 0. Ghee is angry about this, and makes a hard problem for her to solve:
Now Kia has two integers A and B, she can shuffle the digits in each number as she like, but leading zeros are not allowed. That is to say, for A = 11024, she can rearrange the number as 10124, or 41102, or many other, but 02411 is not allowed.
After she shuffles A and B, she will add them together, in her own way. And what will be the maximum possible sum of A "+" B ?
Now Kia has two integers A and B, she can shuffle the digits in each number as she like, but leading zeros are not allowed. That is to say, for A = 11024, she can rearrange the number as 10124, or 41102, or many other, but 02411 is not allowed.
After she shuffles A and B, she will add them together, in her own way. And what will be the maximum possible sum of A "+" B ?
Input
The rst line has a number T (T <= 25) , indicating the number of test cases.
For each test case there are two lines. First line has the number A, and the second line has the number B.
Both A and B will have same number of digits, which is no larger than 10 6, and without leading zeros.
For each test case there are two lines. First line has the number A, and the second line has the number B.
Both A and B will have same number of digits, which is no larger than 10 6, and without leading zeros.
Output
For test case X, output "Case #X: " first, then output the maximum possible sum without leading zeros.
Sample Input
159583036
Sample Output
Case #1: 8984
随机组合 用不进制来求出最大值
#include <stdio.h>#include <algorithm>#include <string.h>using namespace std;char a[1000005],b[1000005];int aa[15],bb[15],ans[1000005];int main(){ int cas,l,k,j,i,v,temp1,temp2,o,temp3; scanf("%d",&cas); for(int tt=1;tt<=cas;tt++) { scanf("%s %s",a,b); if(!strcmp(a,"0")) {printf("Case #%d: ",tt);puts(b);continue;} if(!strcmp(b,"0")) {printf("Case #%d: ",tt);puts(a);continue;} l=strlen(a); memset(aa,0,sizeof aa); memset(bb,0,sizeof bb); for(i=0; i<l; i++) { aa[a[i]-'0']++; bb[b[i]-'0']++; } v=0; int maxx=-1; for(j=1; j<10; j++) { for(k=1; k<10; k++) { if(aa[j]&&bb[k]) { if((j+k)%10>maxx) { temp1=j; temp2=k; maxx=(j+k)%10; } } } } ans[v++]=maxx; aa[temp1]--; bb[temp2]--; if(maxx==0) { printf("Case #%d: ",tt);puts("0");continue; } for(k=9; k>=0; k--) for(o=0; o<10; o++) { for(i=0; i<10; i++) { if((o+i)%10==k) { while(aa[o]&&bb[i]) { aa[o]--; bb[i]--; ans[v++]=k; // printf("%d %d %d\n",o,i,k); } } } } printf("Case #%d: ",tt); for(i=0;i<v;i++) printf("%d",ans[i]); printf("\n"); } return 0;}
0 0
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- hdu 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation
- HDU 4726 Kia's Calculation 解题报告
- HDU 4726 Kia's Calculation (贪心)
- hdu 4726 Kia's Calculation(贪心)
- hdu 4726 Kia's Calculation (贪心)
- HDU 4726 Kia's Calculation(数学+贪心)
- HDU 4726 Kia's Calculation (贪心算法)
- hdu 4726 Kia's Calculation(贪心,好题)
- Kia's Calculation
- ubuntu12.04更新源
- HDU 1874:畅通工程续【Dijkstra & SPFA & Floyd】
- GoLang反射的规则
- Unity3d 坦克AI_自动寻怪,自动追击脚本参考
- Notepad++常用插件安装
- HDU 4726 Kia's Calculation
- C#使用RSA证书文件加密和解密示例
- Cocos2dx_背景层循环滚动
- EditText光标不显示问题
- Hadoop MapReduce处理海量小文件:基于CombineFileInputFormat
- iOS CGRectInset、CGRectOffset详解
- Bone Collector
- heart(js源码)
- RSA 分段加解密【解决“不正确的长度”的异常】