hdu 4726 Kia's Calculation
思路:刚开始想复杂了。
看解题报告后才知道这题挺简单的,看来还是要多训练啊!!!
单独处理首位的数字,不能为0.其他的就好处理了,从大到小依次找下去就可以了……
代码如下:
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<cstring>
#include<vector>
#define ll __int64
#define pi acos(-1.0)
#define MAX 1000005
using namespace std;
char a[MAX],b[MAX];
int c[],d[];
int first()
{
int i,j;
for(i=;i>=;i--){
for(j=;j<=;j++){
if(i-j>&&c[j]&&d[i-j]){
c[j]--;
d[i-j]--;
break;
}
if(+i-j<=&&c[j]&&d[+i-j]){
c[j]--;
d[+i-j]--;
break;
}
}
if(j<=) break;
}
return i;
}
int solve(int x)
{
int t,ans=;
for(int i=;i<=;i++){
if(x-i>=&&c[i]&&d[x-i]){
t=min(c[i],d[x-i]);
c[i]-=t;
d[x-i]-=t;
ans+=t;
}
if(+x-i<=&&c[i]&&d[+x-i]){
t=min(c[i],d[+x-i]);
c[i]-=t;
d[+x-i]-=t;
ans+=t;
}
}
return ans;
}
int main(){
int i,j,t,ca=;
scanf("%d",&t);
while(t--){
scanf("%s%s",&a,&b);
int len=strlen(a);
memset(c,,sizeof(c));
memset(d,,sizeof(d));
for(i=;i<len;i++){
c[a[i]-'']++;
d[b[i]-'']++;
}
int tt=first();
printf("Case #%d: %d",++ca,tt);
if(tt==){
printf("\n");
continue;
}
for(i=;i>=;i--){
int m=solve(i);
for(j=;j<=m;j++)
printf("%d",i);
}
printf("\n");
}
return ;
}
hdu 4726 Kia's Calculation的更多相关文章
- HDU 4726 Kia's Calculation (贪心算法)
Kia's Calculation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- HDU 4726 Kia's Calculation(贪心)
Kia's Calculation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- HDU 4726 Kia's Calculation(贪心构造)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4726 题意:给出两个n位的数字,均无前缀0.重新排列两个数字中的各个数,重新排列后也无前缀0.得到的两 ...
- ACM学习历程—HDU 4726 Kia's Calculation( 贪心&&计数排序)
DescriptionDoctor Ghee is teaching Kia how to calculate the sum of two integers. But Kia is so carel ...
- 贪心 HDOJ 4726 Kia's Calculation
题目传送门 /* 这题交给队友做,做了一个多小时,全排列,RE数组越界,赛后发现读题读错了,囧! 贪心:先确定最高位的数字,然后用贪心的方法,越高位数字越大 注意:1. Both A and B wi ...
- hdu 4965 Fast Matrix Calculation(矩阵高速幂)
题目链接.hdu 4965 Fast Matrix Calculation 题目大意:给定两个矩阵A,B,分别为N*K和K*N. 矩阵C = A*B 矩阵M=CN∗N 将矩阵M中的全部元素取模6,得到 ...
- Kia's Calculation hdu4726
Kia's Calculation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- K - Kia's Calculation (贪心)
Kia's Calculation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- hdu 4726(贪心)
Kia's Calculation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
随机推荐
- 九度oj 1348 数组中的逆序对
原题链接:http://ac.jobdu.com/problem.php?pid=1348 归并排序求逆序对... #include<algorithm> #include<iost ...
- require.js的用法
我采用的是一个非常流行的库require.js. 一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文 ...
- swift 基于SDK8.0 获取当前时间
var date = NSDate.date() var timeFormatter = NSDateFormatter() timeFormatter.dateFormat = "MM-d ...
- AutoCAD/Civil 3D 学习笔记
Civil学习笔记 1.环境配置 1.添加引用: Civil二次开发需要5个基本的AutoCAD的dll引用-acdbmgd.dll, acmgd.dll, accoremgd.dll, AecBas ...
- (转)android Fragments详解二:创建Fragment
创建Fragment 要创建fragment,必须从Fragment或Fragment的派生类派生出一个类.Fragment的代码写起来有些像activity.它具有跟activity一样的回调方法, ...
- LoadRunner - 实战,转发
最近几天一直在读代震军的博客,他是Discuz!NT的设计者,读了他的一系列关于 Discuz!NT的架构设计文章,大呼过瘾,特别是Discuz!NT在解决高访问高并发时所设计的一系列方案,本人尤其感 ...
- linux下sort详解(sort对科学记数法的排序)
1.参数解释 -t 设置分隔符 -k 设置比较域(列) -n 按数字比较 -g 科学记数法方式比较 -o 设置输出文件,与“>”相比可以设置输出到原文件,“>”会清空原文件 -r 降序(大 ...
- Java实现Socket之WhoisClient
Java实现Socket之WhoisClient 代码内容 从常用的whois服务器的43号端口得到对应域名的所有注册信息并显示出来 代码实现 /* WhoisClient.java */ impor ...
- 嵌入字体@font-face
嵌入字体@font-face @font-face能够加载服务器端的字体文件,让浏览器端可以显示用户电脑里没有安装的字体. 语法: @font-face { font-family : 字体名称; s ...
- javascript 对象数组排序
参考地址:http://blog.csdn.net/kavensu/article/details/17851329