程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> nyoj---t448(尋找最大數)

nyoj---t448(尋找最大數)

編輯:C++入門知識

nyoj---t448(尋找最大數)


描述

請在整數 n 中刪除m個數字, 使得余下的數字按原次序組成的新數最大,

比如當n=92081346718538,m=10時,則新的最大數是9888

輸入
第一行輸入一個正整數T,表示有T組測試數據
每組測試數據占一行,每行有兩個數n,m(n可能是一個很大的整數,但其位數不超過100位,並且保證數據首位非0,m小於整數n的位數)
輸出
每組測試數據的輸出占一行,輸出剩余的數字按原次序組成的最大新數
樣例輸入
2
92081346718538 10
1008908 5
樣例輸出
9888
98

#include 
#include 
int main()
{
	int t,m,n,q;
	char ans[105],s[105];
	int max;
	int i,x;
	scanf("%d",&t);
	while (t--)
	{
		//memset(a,0,sizeof(a));
		scanf("%s%d",s,&m);
		n = strlen(s);
		for (i=0,q=-1;i
 
#include 
#include 
using namespace std;
#include 
int cmp(char a[],int n)
{
	int i,x;
	char m;
	m = a[n-1];
	x=n-1;
	for (i=n-2;i>=0;i--)
	{
		if (m>=a[i])
		{
			m = a[i];
			x = i;
		}
	}
	return x;
}
int main()
{
	int t,m,n;
	char a[110];
	int i,x;
	scanf("%d",&t);
	while (t--)
	{
		memset(a,0,sizeof(a));
		scanf("%s%d",a,&m);
		n = strlen(a);
		for (i=0;i

同樣的結果,不同的是能不能通過提交。ACM的思想是很關鍵的,然後需要嚴謹的步驟,不能出現丁點的錯誤,所以繼續努力吧。向大牛看齊。



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved