zoukankan      html  css  js  c++  java
  • 删数游戏

    题目描述

    输入一个高精度的正整数n(≤240位),去掉其中任意s个数字后,剩下的数字按原左右次序组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小。

    输入

    第1行:一个正整数n;
    第2行:s(s<n的位数).

    输出

    最后剩下的最小数。

    样例输入

    175438
    4
    

    样例输出

    13
    

     从左到右遍历,以找到最长递增序列的末位,删除该数字,并把后面的往前移动一位,重复操作s次

    注意结果是0的情况!

     1 #include <bits/stdc++.h>
     2  
     3 using namespace std;
     4 typedef long long ll;
     5  
     6 int main()
     7 {
     8     string s;
     9     int k;
    10     cin>>s>>k;
    11     int n=s.size(),j;
    12     for(int i=0;i<k;i++)
    13     {
    14         for(j=0;j<n-1-i;j++)
    15         {
    16             if(s[j]>s[j+1]){
    17                 break;
    18             }
    19         }
    20         for(;j<n-1-i;j++)
    21             s[j]=s[j+1];
    22     }
    23     int cnt=0;
    24     while(s[cnt]=='0'&&cnt<n-k)
    25     {
    26         cnt++;
    27     }
    28     if(cnt==n-k)
    29         cout<<"0"<<endl;
    30     else
    31     {
    32         for(int i=cnt;i<n-k;i++)
    33             cout<<s[i];
    34         cout<<endl;
    35     }
    36     return 0;
    37 }
    View Code
    如有错误,请指正,感谢!
  • 相关阅读:
    淘宝Banner 轮播图
    JavaScript move简易版运动框架封装
    javaScript 导航栏
    JS 运动框架完整版
    Js 数组操作
    JS 动画轮播效果
    JavaScritpt 字符串操作
    Java AOP切面编程方式
    时间版 运动框架
    Nmon的安装及使用
  • 原文地址:https://www.cnblogs.com/scott527407973/p/9400425.html
Copyright © 2011-2022 走看看