社区讨论

245 WA 6 RE挺离谱的悬关求解

P1106删数问题参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lpsfc0hx
此快照首次捕获于
2023/12/05 22:16
2 年前
此快照最后确认于
2023/12/06 12:48
2 年前
查看原帖
代码如下,
CPP
#include<string>
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int k,len;
string N;
int main(){//没加删完的检测 
	cin>>N>>k;
	len=N.length();//len:const;length:var
	for(int j=9;j>=0;j--){	
		for(int i=0;i<len;/*i++如果这么用可能会卡掉刚删完的数字后边那一位*/){
			if(k<=0)	break;
			if(N[i]-'0'==j){
///*test*/		cout<<N.substr(0,i)<<" "<<N.substr(i+1,N.length()-i-1)<<endl;
				N=N.substr(0,i)+N.substr(i+1,N.length()-i-1);
				k--;
			}
			else i++; 
		}
		if(k<=0)break;
	}
	while(1){
		if(N[0]-48==0&&N.length()>1)N=N.substr(1,N.length()-1);
		else break;
	}
	if(N.length()==0) cout<<0;
	else cout<<N;
	return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...