• NYOJ448 寻找最大数


    寻找最大数

    时间限制: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
    View Code
     
    #include<iostream>
    #include<string.h>
    #include<string>
    using namespace std;
    int main()
    {
        string str;
        int n,m;
        cin>>n;
        int shu[110];
        while(n--)
        {
           cin>>str>>m;
           int k=0,sign=0,max;
           memset(shu,0,sizeof(shu));
           for(int i=0;i<str.size()-m;i++)
           {
              max=-1;
              for(int j=sign;j<=i+m;j++)
                if(max<str[j]-'0')
                  {
                    max=str[j]-'0';
                    sign=j;
                  }
              
               shu[k++]=str[sign++];
           }
           for(int i=0;i<str.size()-m;i++)
          cout<<shu[i]-'0';
          cout<<endl;
        }
        return 0;
    }
           
            
  • 相关阅读:
    python基础一 day41 IO模型 非阻塞IO
    python基础一 day41 协程
    python基础一 day41 复习
    python基础一 day40 条件 定时器 队列 线程池
    python基础一 day40 线程锁 信号量 事件
    第三章
    第二章
    第一章
    计算机基础知识
    scrapy安装方法
  • 原文地址:https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_2012_08_230.html
Copyright © 2020-2023  润新知