题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4726

题意:给出两个n位的数字,均无前缀0。重新排列两个数字中的各个数,重新排列后也无前缀0。得到的两个新数相加和最大。这里的相加是无进位的相加。输出结果。输出时不要输出前缀0。

思路:答案的第一位比较特殊,相加的两个数中不能有0.可以枚举这个答案中的第一个数字,查找是否存在两个数相加为这个数字。后面的道理一样,也是枚举。

int a[2][10];
int n;
char s[2][N];
int s1[N],s2[N],ans[N];

int main()
{
    int num=0;
    rush()
    {
        clr(a,0);
        int i,j,k;
        FOR0(i,2)
        {
            RD(s[i]);
            n=strlen(s[i]);
            FOR0(j,n) a[i][s[i][j]-'0']++;
        }
        int e=0,top=0,tail=0;
        for(i=9;i>=2;i--)
        {
            for(k=1,j=i-1;k<10;k++,j=(j+9)%10) if(j&&a[0][k]&&a[1][j])
            {
                ans[++e]=i;
                a[0][k]--;
                a[1][j]--;
                break;
            }
            if(k<10) break;
        }
        if(!e) ans[++e]=0,a[0][s[0][0]-'0']--,a[1][s[1][0]-'0']--;
        for(i=9;i>=0;i--)
        {
            k=i;
            for(j=0;j<10;j++)
            {
                while(a[0][j]&&a[1][k])
                {
                    ans[++e]=i;
                    a[0][j]--;
                    a[1][k]--;
                }
                k=(k+9)%10;
            }
        }
        printf("Case #%d: ",++num);
        for(i=1;i<n&&ans[i]==0;i++);
        for(j=i;j<n;j++)printf("%d",ans[j]);
        PR(ans[j]);
    }
}

  

最新文章

  1. android——相对布局,表格布局
  2. 当java出现异常,应如何进行处理
  3. Atitit.软件与编程语言中的锁机制原理attilax总结
  4. 【leetcode❤python】 1. Two Sum
  5. 删除word文档中表格后的空行
  6. BZOJ 2257: [Jsoi2009]瓶子和燃料 裴蜀定理
  7. 64位Windows 7平台安装32位Timesten,配置ODBC数据源
  8. 【Jquery】prop与attr的差别
  9. lsof命令各个参数
  10. Linux之ansible 常用模块
  11. Python:遍历一个目录下所有的文件及文件夹,然后计算每个文件的字符和line的小程序
  12. codeforces659B
  13. Multiple SSH keys for different accounts on Github or Gitlab
  14. django网站地图sitemap
  15. 神奇的口袋(dp)
  16. 实现一套山寨springMVC
  17. Nginx 简易教程
  18. Android Kotlin开发之使用Butterknife注意要点
  19. Struts2 校验框架学习笔记
  20. Linux Shell编程、变量、控制语句

热门文章

  1. [工作记录] Android OpenSL ES: references &amp; AAC related
  2. sigaction 函数
  3. spring事务认识
  4. PHP-Java-Bridge使用笔记,2014年9月最新版
  5. C#&amp;Java重学笔记(集合比较和转换)
  6. WCF Service的Restfull风格
  7. 深入浅出ES6(十五):子类 Subclassing
  8. java 反射创建对象并传入参数
  9. ***mysql中查询今天、昨天、上个月sql语句
  10. 使用dnsmasq快速搭建内网DNS