Kia's Calculation hdu4726
2024-08-21 11:36:23
Kia's Calculation
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1367 Accepted Submission(s): 327
Problem Description
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 106, 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 106, and without leading zeros.
Output
For test case X, output "Case #X: " first, then output the maximum possible sum without leading zeros.
Sample Input
1
5958
3036
Sample Output
Case #1: 8984
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <algorithm>
using namespace std;
int a[],b[];
int fun()
{
int i,j,k;
for(k=; k>=; k--)
{
for(i=; i>=; i--)
{
for(j=; j>=; j--)
{
if(a[i]&&b[j]&&(i+j)%==k)
{
a[i]--,b[j]--;
printf("%d",k);
return k;
}
}
}
}
}
int main()
{
int t,i,j,k,r;
char x;
scanf("%d",&t);
getchar();
for(r=; r<=t; r++)
{
memset(a,,sizeof(a));
memset(b,,sizeof(b));
while(x=getchar())
{
if(x=='\n')break;
a[x-'']++;
}
while(x=getchar())
{
if(x=='\n')break;
b[x-'']++;
}
printf("Case #%d: ",r);
if(fun())
for(k=; k>=; k--)
{
for(i=; i>=; i--)
{
for(j=; j>=; j--)
{
while(a[i]&&b[j]&&(i+j)%==k)
{
a[i]--,b[j]--;
printf("%d",k);
}
}
}
}
puts("");
}
}
最新文章
- 转:aliyun阿里云Maven仓库地址——加速你的maven构建
- Spring3.0目录
- 关于Ajax工作原理
- python函数基础 与文件操作
- git &; scp
- 编写Java应用程序。首先,定义一个时钟类——Clock,它包括三个int型 成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒) 进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义 一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这 些对象调用方法show()来显示时钟的时间。
- 正则表达式常用用法汇总 __西科大C语言
- SU suacor命令学习
- 172. Factorial Trailing Zeroes -- 求n的阶乘末尾有几个0
- [0.0]Analysis of Baidu search engine
- [改善Java代码]break万万不可忘
- Windows server2008/2012 安装oracle 11 创建实例HANG住在百分之2
- IMPLEMENTED IN PYTHON +1 | CART生成树
- C++学习笔记1--基础知识
- Cocos2d-x3.0 RenderTexture(一) 保存
- [bzoj1355][Baltic2009]Radio Transmission_KMP
- (二)文档请求不同源之window.postMessage跨域
- HTTP安全通信:Https和SSL
- 垃圾收集器(GC)
- php扩展php-redis安装与使用