zoukankan      html  css  js  c++  java
  • 南阳448--寻找最大数

     

    寻找最大数

    时间限制:1000 ms  |  内存限制:65535 KB
    难度:2
     
    描述

    请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,

    比如当n=92081346718538,m=10时,则新的最大数是9888

     
    输入
    第一行输入一个正整数T,表示有T组测试数据
    每组测试数据占一行,每行有两个数n,m(n可能是一个很大的整数,但其位数不超过100位,并且保证数据首位非0,m小于整数n的位数)
    输出
    每组测试数据的输出占一行,输出剩余的数字按原次序组成的最大新数
    样例输入
    2
    92081346718538 10
    1008908 5
    样例输出
    9888
    98
    来源
    第六届itat复赛B卷2题改编
    上传者
    ACM_赵铭浩
     
    题意:求一列数字中去除N个数后(不改变数的顺序),数值最大的串。
     1 #include <cstdio>
     2 #include <cstring>
     3 #include <iostream>
     4 using namespace std;
     5 char str[110];
     6 int main()
     7 {
     8     int t, n;
     9     scanf("%d", &t);
    10     while(t--)
    11     {
    12         int i, m, len, head = 0;
    13         scanf("%s %d", str, &n);
    14         len = strlen(str);  m = len - n;
    15         while(m--)                      //取len - n位数, 
    16         {
    17             char max = '*';  int temp;
    18               for(i = head; i<=n; i++)   //取出最大的最高位上的数; 
    19             {
    20                 if(str[i] > max)
    21                 {
    22                     temp = i;
    23                     max = str[i]; 
    24                 }
    25             }
    26             n++; head++; printf("%c", str[temp]);
    27             for(i=0; i<=temp; i++)    //最高位前清零; 
    28             str[i]='*';
    29         }
    30         printf("
    ");
    31         
    32     }
    33     return 0;
    34 } 
     
  • 相关阅读:
    python 读写文件
    python之创建文件写入内容
    python之生成随机密码
    python实例七
    python 实例六
    python 实例四
    python实例二
    python实例一
    【BZOJ】1610: [Usaco2008 Feb]Line连线游戏
    【BZOJ】1602:[Usaco2008 Oct]牧场行走
  • 原文地址:https://www.cnblogs.com/soTired/p/4691946.html
Copyright © 2011-2022 走看看