中级天翼
WA58代码:
#include<iostream>
using namespace std;
int main(){
string a;
int n,m,l;
cin>>m;
while(m--){
cin>>a>>n;
if(n>=a.size()){
cout<<0;
continue;
}
l=a.size();
while(n--)
for(int i=0;i<l;i++)
if(i==a.size()-1||a[i]>a[i+1]){
a.erase(i,1);
l--;
break;
}
while(a[0]=='0'&&l>1){
a.erase(0,1);
l--;
}
cout<<a<<endl;
}
return 0;
}
求速速大佬解答!!!
如果让我AC了,采纳是酷町豆加到100!!!
注:请不要发以前的网址
董子墨在2020-06-01 11:54:23追加了内容
也不要发与问题无关的内容,如:
你的代码我看不懂呀!
你还不让发网址~~无奈
……
董子墨在2020-06-01 11:58:10追加了内容
#include<iostream>
using namespace std;
int main(){
string a;
int n,m,l;
cin>>m;
while(m--){
cin>>a>>n;
if(n>=a.size()){//如果删除的位置大于数字的位数,则输出0
cout<<0;
continue;
}
l=a.size();//储存位数
while(n--)
for(int i=0;i<l;i++)//遍历字符串
if(i==a.size()-1||a[i]>a[i+1]){//如果符合删除条件
a.erase(i,1);//删除
l--;//位数减1
break;
}
while(a[0]=='0'&&l>1){//删除数首的0
a.erase(0,1);
l--;
}
cout<<a<<endl;//输出
}
return 0;
}
董子墨在2020-06-02 19:09:46追加了内容
顶顶顶
董子墨在2020-06-02 19:25:40追加了内容
如果让我AC了,采纳前酷町豆加到300!!!
董子墨在2020-06-02 19:32:42追加了内容
顶
董子墨在2020-06-03 18:42:18追加了内容
新代码(仍然是58分)如下:
#include<iostream>
#include<cstdio>
using namespace std;
string mn;
int main() {
int t,m;
cin>>t;
string a,a1;
while(t--) {
cin>>a>>m;
while(a[0]=='0'&&a.size()>1)
a.erase(0,1);
while(m--) {
a1=a;
mn=a1.erase(0,1);
for(int i=1; i<a.size(); i++) {
a1=a;
mn=min(mn,a1.erase(i,1));
}
a=mn;
}
while(a[0]=='0'&&a.size()>1)
a.erase(0,1);
if(a==""){
cout<<"0\n";
continue;
}
cout<<a<<endl;
}
return 0;
}
董子墨在2020-06-11 18:47:20追加了内容
已ac
初级天翼
贪心思路,类比1200寻找最大数,先看这道题怎么写的。
在此思路的基础上,多对0的特殊判断。开头为0的不输出,这一步可以通过1个标志位+判断是否为0实现。这个思想可以在1373 1468题目中体现。
由于会存在都为0的情况,所以这个标志位可以改为计数,这样就可以比较轻松地判断全为0的情况了。
初级光能
string s;
int n,m;
cin>>n;
while(n--){
cin>>s>>m;
for(int i=1;i<s.size();i++){
if(s[i]<s[i-1]&&m>0){
s.erase(i-1,1);
i=0;
m--;
}
}
for(int i=s.size()-1;i>=0;i--){
if(m>0){
s.erase(i,1);
m--;
}
}
\\去零自己想
if(s.size()==0) cout<<0<<endl;
else cout<<s<<endl;
}
王泽宇在2020-06-08 19:46:35追加了内容
我这不算整段代码吧
王泽宇在2020-06-08 19:46:59追加了内容
提示:a[0]
王泽宇在2020-06-09 11:54:08追加了内容
求采纳
资深守护
while(n--)
{
for(j=0;j<l;j++)
{
if(s[j]>s[j+1]||j==l-1)
{
s.erase(j,1);
l--;
break;
}
}
}
中级天翼
高级天翼
我只能说这题很!简!单!
先遍历字符串,用a[i]存数,然后sort一下,再减一下,然后在遍历一下,再sort一下,加个特判,让0不在首位,再输出,就OK了。
新手天翼
while(n--)
{
for(j=0;j<l;j++)
{
if(s[j]>s[j+1]||j==l-1)
{
s.erase(j,1);
l--;
break;
}
}
}
王子逸在2020-06-03 17:43:14追加了内容
简单到死
资深天翼
寻找最小数这题目我一看到,就乐了!
我会一个方法,打擂台(弱鸡,大佬别喷)
if(a<min) min=a;
在这之前定义min(最小值)和a
cin>>a;
即可
我只知道这些,希望能帮得到你