hdu4726贪心
Kia's Calculation
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
 Total Submission(s): 605    Accepted Submission(s): 170
 
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 ?
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.
5958
3036
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<queue>
#include<algorithm>
#include<map>
#include<iomanip>
#define INF 99999999
using namespace std; const int MAX=1000000+10;
char a[MAX],b[MAX];
int numa[10],numb[10]; int main(){
int t,i,j,k,num=0;
scanf("%d",&t);
while(t--){
scanf("%s%s",a,b);
int lena=strlen(a),lenb=strlen(b);
memset(numa,0,sizeof numa);
memset(numb,0,sizeof numb);
for(i=0;i<lena;++i)++numa[a[i]-'0'];
for(i=0;i<lenb;++i)++numb[b[i]-'0'];
printf("Case #%d: ",++num);
for(i=9;i>=0;--i){//判断首位最大值
for(j=1;j<10;++j){
if((i-j+10)%10 == 0)continue;
if(numa[j] && numb[(i-j+10)%10]){--numa[j],--numb[(i-j+10)%10];break;}
}
if(j != 10){printf("%d",i);break;}
}
if(i == 0){cout<<endl;continue;}
if(i == -1){cout<<0<<endl;continue;}
for(k=1;k<lena;++k){//a,b长度相等才能这样算
for(i=9;i>=0;--i){
for(j=0;j<10;++j){
if(numa[j] && numb[(i-j+10)%10]){--numa[j],--numb[(i-j+10)%10];break;}
}
if(j != 10){printf("%d",i);break;}
}
}
cout<<endl;
}
return 0;
}
hdu4726贪心的更多相关文章
- HDU-4726 Kia's Calculation 贪心
		题目链接:http://acm.hdu.edu.cn/userstatus.php?user=zhsl 题意:给两个大数,他们之间的加法法则每位相加不进位.现在可以对两个大数的每位重新排序,但是首位不 ... 
- BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]
		1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1383 Solved: 582[Submit][St ... 
- HDOJ 1051. Wooden Sticks 贪心 结构体排序
		Wooden Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ... 
- HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
		FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ... 
- BZOJ 1691: [Usaco2007 Dec]挑剔的美食家 [treap 贪心]
		1691: [Usaco2007 Dec]挑剔的美食家 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 786 Solved: 391[Submit][S ... 
- 【Codeforces 738D】Sea Battle(贪心)
		http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ... 
- 【BZOJ-4245】OR-XOR      按位贪心
		4245: [ONTAK2015]OR-XOR Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 486 Solved: 266[Submit][Sta ... 
- code vs 1098 均分纸牌(贪心)
		1098 均分纸牌 2002年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 有 N 堆纸牌 ... 
- 【BZOJ1623】 [Usaco2008 Open]Cow Cars 奶牛飞车 贪心
		SB贪心,一开始还想着用二分,看了眼黄学长的blog,发现自己SB了... 最小道路=已选取的奶牛/道路总数. #include <iostream> #include <cstdi ... 
随机推荐
- android面试题之一
			在接下来的一段时间,我将收集一些常见面试题,综合网上资料加自己测试与理解,将其总结出来和大家分享,里面难免有一些问题,希望大家提出宝贵意见以便及时更正. 一.Activity.Service.Broa ... 
- IOS中使用像素位图(CGImageRef)对图片进行处理
			IOS中对图片进行重绘处理的方法总结 一.CGImageRef是什么 CGImageRef是定义在QuartzCore框架中的一个结构体指针,用C语言编写.在CGImage.h文件中,我们可以看到下面 ... 
- 如何成为CSDN博客专家
			先看一下官方给出的要求: 申请CSDN博客专家应具备的条件: 1.原创IT类文章总数超过20篇,并且最近一个月内发布了新的原创IT类文章. 2.博客文章总的浏览量超过5万次以上. 3.文章内容的质量很 ... 
- bootstrap框架开发电子商城案例
			bootstrap框架开发电子商城案例 玛图 bootstrap 商城框架 
- [Swust OJ 603]--吃饺子大王
			题目链接:http://acm.swust.edu.cn/problem/603/ Time limit(ms): 1000 Memory limit(kb): 65535 同学们还记得我们班 ... 
- js调试工具console详解
			#console基本输出方法,占位符:字符(%s).整数(%d).浮点数(%f)和对象(%o) console.log('日志'); console.info('信息'); console.error ... 
- HDU 5119 Happy Matt Friends(2014北京区域赛现场赛H题 裸背包DP)
			虽然是一道还是算简单的DP,甚至不用滚动数组也能AC,数据量不算很大. 对于N个数,每个数只存在两个状态,取 和 不取. 容易得出状态转移方程: dp[i][j] = dp[i - 1][j ^ a[ ... 
- SQLite3的使用(用到了dll)good
			1.下载sqlite3相关文件sqlite3.dll.sqlite3.h(可从http://download.csdn.net/detail/mingxia_sui/5249070下载),添加到工程的 ... 
- 【引用】Linux 内核驱动--多点触摸接口
			本文转载自James<Linux 内核驱动--多点触摸接口> 译自:linux-2.6.31.14\Documentation\input\multi-touch-protocol.t ... 
- 基于visual Studio2013解决算法导论之028散列表开放寻址
			 题目 散列表 解决代码及点评 #include <iostream> #include <time.h> using namespace std; template & ... 
