Problem1刪數問題解題報告

2022-02-19 14:05:11 字數 663 閱讀 4031

題目描述

給定一正整數n(n的位數小於240),現要刪除數n中的s個數碼,使其得到的新數最小,求這個最小數。

輸入輸入有兩行,第一行為整數n,第二行即為s

輸出輸出一行,即最小的那個數

測試樣例1

輸入輸出

測試樣例2

輸入輸出

解題思路

首先考慮s=1時的情況,很容易知道如果只刪乙個數,那麼若各位數字遞增則刪除最後乙個數,否則刪除第乙個遞減區間的首字元,這樣刪除便可以得到最小的數。而對於s>1時,我們只需要重複這種操作s次,得到的操作就是所求的最小數。

程式**

using

system;

using

system.text;

namespace

tanxin

public

static

stringbuilder getminnum(

string

n, ints)}

if(!flag)

}return

str;}}

}

刪數問題 題解

本題使用貪心思想 乙個讓這串數字越小,它的高位數就得越小。我們每次刪除要使得刪除後的數高位盡量的小。每一次刪除時,從最高位開始向低位數遍歷,當遇到的一位數比它的更高位更小時,我們就刪除它的更高一位,讓這個更小的數 篡位 就可以保證這串數更小。下一次刪除時,要也從新從最高位開始。需要注意的地方 刪除了...

題解 刪數問題 Noip1994

時間限制 1000 ms 記憶體限制 65536 kb 提交數 11506 通過數 3852 輸入乙個高精度的正整數n,去掉其中任意s個數字後剩下的數字按原左右次序組成乙個新的正整數。程式設計對給定的n和s,尋找一種方案使得剩下的數字組成的新數最小。輸出新的正整數。n不超過240位 輸入資料均不需判...

數獨問題解題報告

valid sudoku 九宮格就是要求每一行 每一列 每乙個粗線宮內的數字均含1 9,不重複。所以這裡我們的思路就是一次檢查每一行,每一列中是否有重複的數字如果有則返回false class solution cols for int j 0 j 9 j 當需要分割大的變為小的,可以通過次數來進行...