• Kia's Calculation hdu4726


    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 ?
     
    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.
     
    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
     1 #include <iostream>
     2 #include <string.h>
     3 #include <stdio.h>
     4 #include <math.h>
     5 #include <algorithm>
     6 using namespace std;
     7 int a[10],b[10];
     8 int fun()
     9 {
    10     int i,j,k;
    11     for(k=9; k>=0; k--)
    12     {
    13         for(i=9; i>=1; i--)
    14         {
    15             for(j=9; j>=1; j--)
    16             {
    17                 if(a[i]&&b[j]&&(i+j)%10==k)
    18                 {
    19                     a[i]--,b[j]--;
    20                     printf("%d",k);
    21                     return k;
    22                 }
    23             }
    24         }
    25     }
    26 }
    27 int main()
    28 {
    29     int t,i,j,k,r;
    30     char x;
    31     scanf("%d",&t);
    32     getchar();
    33     for(r=1; r<=t; r++)
    34     {
    35         memset(a,0,sizeof(a));
    36         memset(b,0,sizeof(b));
    37         while(x=getchar())
    38         {
    39             if(x=='
    ')break;
    40             a[x-'0']++;
    41         }
    42         while(x=getchar())
    43         {
    44             if(x=='
    ')break;
    45             b[x-'0']++;
    46         }
    47         printf("Case #%d: ",r);
    48         if(fun())
    49             for(k=9; k>=0; k--)
    50             {
    51                 for(i=9; i>=0; i--)
    52                 {
    53                     for(j=9; j>=0; j--)
    54                     {
    55                         while(a[i]&&b[j]&&(i+j)%10==k)
    56                         {
    57                             a[i]--,b[j]--;
    58                             printf("%d",k);
    59                         }
    60                     }
    61                 }
    62             }
    63         puts("");
    64     }
    65 }
    View Code
     
  • 相关阅读:
    ElasticSearch 安装 go-mysql-elasticsearch 同步mysql的数据
    ElasticSearch 安装 elasticsearch-analysis-ik分词器
    Centos6.5 (或Linux) 安装Elasticsearch
    Centos6.5安装mysql 5.7
    3、使用Oracle Logminer同步Demo
    2、Oracle Logminer性能测试
    1、图解Oracle Logminer配置使用
    springmvc+mybatis+redis的session共享+maven管理
    CentOS安装nginx以及负载均衡的搭建
    java使用jedis访问CentOS中的redis
  • 原文地址:https://www.cnblogs.com/ERKE/p/3638067.html
Copyright © 2020-2023  润新知