2 solutions

  • 11
    @ 2024-1-28 11:33:40

    AC呆马:

    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
    	string n;
    	int s;
    	cin >> n >> s;
    	int i, j, len = n.size(), k;
    	bool flag;
    	for(i = 1; i <= s; i++)
    	{
    		for(j = 0; j < len - 1; j++)
    		{
    			if(n[j] > n[j+1])
    			{
    				for(k = j; k < len - 1; k++)
    					n[k] = n[k+1];
    				break;
    			}
    		}
    		len--;
    	}
    	for(i = 0; i <= len-1; i++)
    	{
    		if(n[i] != '0')	flag = true;
    		if(flag) cout << n[i];
    	}
    	return 0;
    }
    

    需要自取,请点赞

    • 1
      @ 2025-3-23 20:55:46
      #include<bits/stdc++.h>
      
      using namespace std; 
      //自测样例组 
      // 输入样例1:13625
      //            2
      // 输出样例1:125
      
      // 输入样例2:12345
      //            3
      // 输出样例2:12
      
      // 输入样例3:175632
      //            2
      // 输出样例3:1532
      
      // 输入样例4:175438
      //            4
      // 输出样例4:13
      bool vis[100010];
      int main(){
      	string n;
      	int m;
      	cin>>n>>m;
      	int lenn=n.size();
      	while(m--){//要删m个数 
      		for(int i=0;i<lenn-1;i++){
      			int k1=n[i]-'0'+0;
      			int k2=n[i+1]-'0'+0;
      			// 判断如果大于前一个数,就删掉 
      			if(k1>k2){
      				//向前覆盖(删除第i个元素) 
      				for(int j=i;j<lenn-1;j++){ 
      					n[j]=n[j+1];
      				}
      				//一次删一个元素 
      				break;
      			}	
      		}
      		//长度减一 
      		lenn-=1;
      	}
      	//此处纯属乱搞,切忌模仿!!(推荐使用nPr123f) 
      	bool RRRC24zhengfujiafamliyid201=false;
      	for(int i=0;i<lenn;i++){
      		//判断是否为前导0 
      		if(n[i]!='0')RRRC24zhengfujiafamliyid201=true;
      		if(RRRC24zhengfujiafamliyid201==true)cout<<n[i]; 
      	}
      	return 0;
      	
      }
      
      • 1

      Information

      ID
      806
      Time
      1000ms
      Memory
      256MiB
      Difficulty
      6
      Tags
      # Submissions
      87
      Accepted
      26
      Uploaded By