日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

58.贪心算法练习:  最小新整数

發布時間:2023/12/13 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 58.贪心算法练习:  最小新整数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


總時間限制:?

1000ms

?

內存限制:?

65536kB

描述

給定一個十進制正整數n(0 < n < 1000000000),每個數位上數字均不為0n的位數為m
現在從m位中刪除k(0< m),求生成的新整數最小為多少?
例如: n = 9128456, k = 2, 則生成的新整數最小為12456

輸入

第一行t, 表示有t組數據;
接下來t行,每一行表示一組測試數據,每組測試數據包含兩個數字n, k

輸出

t行,每行一個數字,表示從n中刪除k位后得到的最小整數。

樣例輸入

2 9128456 2 1444 3

樣例輸出

12456 1

代碼:

#include

using namespace std;

#include

#include

char p[20];

int main()

{

?????? int t,len;

?????? cin>>t;

?????? for(int i=1;i<=t;++i)

?????? {

????????????? int k;

????????????? memset(p,0,sizeof(p));

????????????? scanf("%s%d",p,&k);

??????? len=strlen(p);

????????????? int t=0;

????????????? while(t

????????????? {

???????????????????? int flag=0;

???????????????????? for(int i=0;i

???????????????????? {

??????????????????????????? if(p[i]>p[i+1]&&p[i+1]!='0')

??????????????????????????? {

?????????????????????????????????? p[i]='0';

?????????????????????????????????? flag=1;

?????????????????????????????????? t++;

??????????????????????????? }

???????????????????? }

???????????????????? if(flag==0)

???????????????????? {

??????????????????????????? --len;

??????????????????????????? p[len]='0';

??????????????????????????? t++;

???????????????????? }

????????????? }

?????? for(int i=0;i<=len;++i)

?????? if(p[i]!='0')

?????? printf("%c",p[i]);

?????? printf("\n");

?????? }

??????

?????? return 0;

}

轉載于:https://www.cnblogs.com/csgc0131123/p/5290351.html

總結

以上是生活随笔為你收集整理的58.贪心算法练习:  最小新整数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。