【例6.3】刪數問題(Noip1994)
阿新 • • 發佈:2017-10-29
logs lan cin clas pac i++ wlan 描述 status
時間限制: 1000 ms 內存限制: 65536 KB
【例6.3】刪數問題(Noip1994)
鏈接:http://ybt.ssoier.cn:8088/status.php?start=0&showname=edsheeran&showpid=&showres=&showlang=
時間限制: 1000 ms 內存限制: 65536 KB
【題目描述】
輸入一個高精度的正整數n,去掉其中任意s個數字後剩下的數字按原左右次序組成一個新的正整數。編程對給定的n和s,尋找一種方案使得剩下的數字組成的新數最小。
輸出新的正整數。(n不超過240位)
輸入數據均不需判錯。
【輸入】
n
s
【輸出】
最後剩下的最小數。
【輸入樣例】
175438 4
【輸出樣例】
13
#include<iostream> #include<cstring> #include<algorithm> #include<cstdio> using namespace std; int main() { string n; int s; cin>>n; int l=n.length(); cin>>s; for(int i=1;i<=s;i++) { for(int j=0;j<l-1;j++) if(n[j]>n[j+1]) { for(int k=j;k<l;k++)n[k]=n[k+1]; break; } l--; } int i=0; while(i<l&&n[i]-‘0‘==0)i++; if(i==l)cout<<"0"<<endl; else for(;i<l;i++)cout<<n[i]; }
【例6.3】刪數問題(Noip1994)