zoukankan      html  css  js  c++  java
  • 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
     
  • 相关阅读:
    Thread中的join使用
    java.lang.NoClassDefFoundError: Ljavax/enterprise/inject/spi/BeanManager;
    org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xm
    maven 中使用jstl 错误解决
    eclipse 安装maven
    前端 JS事件操作
    前端 JS
    前端 固定位置 与绝对定位
    前端 显示与隐藏
    前端 盒子阴影
  • 原文地址:https://www.cnblogs.com/ERKE/p/3638067.html
Copyright © 2011-2022 走看看