1. 程式人生 > >保留最大數

保留最大數

題目描述

給定一個十進位制的正整數number,選擇從裡面去掉一部分數字,希望保留下來的數字組成的正整數最大。

輸入描述:

輸入為兩行內容,第一行是正整數number,1 ≤ length(number) ≤ 50000。第二行是希望去掉的數字數量cnt 1 ≤ cnt < length(number)。

輸出描述:

輸出保留下來的結果。

示例1

輸入

複製

325 1

輸出

複製

35

#include<iostream>
#include<string.h>
int n;
char num[50001];
using namespace std;
void pop(int i)
{
    for(;num[i];i++)
        num[i]=num[i+1];
}
int main()
{    
    cin>>num>>n;
    while(n--)
    {
        int i;
        for(i=0;num[i];i++)
        {
            if(num[i]<num[i+1])
                break;
        }
        if(num[i]=='\0')
            pop(i-1);
        else
            pop(i);
    }
    cout<<num;
    return 0;
}

相關推薦

保留大數

題目描述 給定一個十進位制的正整數number,選擇從裡面去掉一部分數字,希望保留下來的數字組成的正整數最大。 輸入描述: 輸入為兩行內容,第一行是正整數number,1 ≤ length(number) ≤ 50000。第二行是希望去掉的數字數量cnt 1 ≤ cnt

2017校招-保留大數

題目描述 給定一個十進位制的正整數number,選擇從裡面去掉一部分數字,希望保留下來的數字組成的正整數最大。 輸入描述: 輸入為兩行內容,第一行是正整數number,1 ≤ length(number) ≤ 50000。第二行是希望去掉的數字數量cnt

大數的和

using 我們 margin fine 所有 res log 每次 ont 題意:有N個數,每次從中任意選取K個數,取其中的最大值,求所有組合能取得的最大值的和.N≤100,000,K≤50,輸出結果對1000000007取模的結果.0≤每個數≤10^?9?? 樣例輸入

P1198 [JSOI2008]大數

執行 限制 bsp 答案 turn 一行 其中 span ont 題目描述 現在請求你維護一個數列,要求提供以下兩種操作: 1、 查詢操作。 語法:Q L 功能:查詢當前數列中末尾L個數中的最大的數,並輸出這個數的值。 限制:L不超過當前數列的長度。 2、

【算法拾遺】大數小數

eas null 第k大 方法 track 兩個 str 最大值和次大值 數位 轉載請註明出處:http://blog.csdn.net/ns_code/article/details/28735533 求一個數組中的最大值和最小值。我們一般的做法是掃描一遍數組求的

待字閨中之構造大數分析

stream sprint amp gnu i++ += 最大 str char 給定僅僅包括正數的數組,給出一個方法,將數組中的數拼接起來,得到的數,是最大的。 比如: [4, 94, 9, 14, 1] 拼接之後,所得最大數為:9944141 分析 我們能

bzoj1012 大數

define max 尾插 -- pda long upd turn sta   線段樹大法好,直接查後面L個數的最大值。 #include<cstdio> #include<cctype> #define lc o*2 #define rc o*

codevs1201 小數和大數

return ret esp 最大數 ffffff pri clu sin main #include <cstdio> #include <algorithm> using namespace std; int main(){ int n,a[1

數論::px+py 不能表示的大數為pq-p-q的證明

歐幾裏德 strong pan 數論 str font 大數 最大 表示 如題: 先證:pq-p-q不能被px+py表示. 假設pq-p-q可以被px+py表示 那麽 px+py=pq-p-q p(x+1)+q(y+1)=pq -> q|x+1 p|y

線段樹——大數——洛谷——1198

while mes 只需要 namespace cst tmp too lines uil 這題可以說是模板題了。 只需要預先開好m大小的線段樹,就好了,這就可以處理加點的問題。 #include<iostream> #include<cstdio>

bzoj 1012 [JSOI2008]大數maxnumber

for class 單調棧 cst main i++ 彈出 std ace 維護單調棧,每次加一個數之前,把棧頂不大於它的數彈出。 查詢時二分就可以了。 #include<cstdio> #include<algorithm> using name

[JSOI2008]大數 --線段樹

sans 數列 reg cli 輸入輸出 整數 con color 描述      [JSOI2008]最大數 --線段樹 題目描述 現在請求你維護一個數列,要求提供以下兩種操作: 1、 查詢操作。 語法:Q L 功能:查詢當前數列中末尾L個數中的最大的數,

BZOJ——1012: [JSOI2008]大數maxnumber || 洛谷—— P1198 [JSOI2008]大數

geo target cin scrip page discus 一行 功能 des http://www.lydsy.com/JudgeOnline/problem.php?id=1012|| https://www.luogu.org/problem/show?pid

[BZOJ1012][JSOI2008]大數maxnumber 線段樹

ems d+ mes n-n col for eof 維護 == 沒什麽好說的……線段樹維護區間就行了。第一次居然寫錯了,真丟人。 1 #include<cstdio> 2 #include<cstring> 3 #include<al

洛谷 P1198 [JSOI2008]大數 題解

getc 遞歸 輸出 getchar() 大小 輸入輸出 span line -s 此文為博主原創題解,轉載時請通知博主,並把原文鏈接放在正文醒目位置。 題目鏈接:https://www.luogu.org/problem/show?pid=1198 題目描述 現

BZOJ-1012-[JSOI2008]大數maxnumber(線段樹)

open can i++ max print fine 每一個 input esc Description   現在請求你維護一個數列,要求提供以下兩種操作:1、 查詢操作。語法:Q L 功能:查詢當前數列中末尾L個數中的最大的數,並輸出這個數的值。限制:L不超過當前數列

【JSOI2008】大數

更改 操作 get tps || out .org pac oot https://www.luogu.org/problem/show?pid=1198 之前剛學完Splay想找題練手的時候做的,寫完Splay交上去了才發現這應該是線段樹裸題23333 Splay解法 按

C#裏面隨機數的獲取、取大數的實例

c#在C#語言裏面,隨機數的獲取是通過Random類的方法來實現的。可以獲取整數隨機數,或者是雙精度小數的隨機數。獲取整數隨機數:Random random_01=new Random();//獲取1到100的之間的隨機數。這個next方法的第二個參數,//指的是到101,但是不包括101int int_01

luogu_1198 [JSOI2008]大數

urn algo esp ++ ios cnblogs stream n) date #include <cstdio> #include <iostream> #include <algorithm> #include <cst

BZOJ 1012: [JSOI2008]大數maxnumber

for ostream num ref printf smart 語法 code i++ 1012: [JSOI2008]最大數maxnumberTime Limit: 3 Sec Memory Limit: 162 MBSubmit: 11358 Solved: 49