2 条题解

  • 2
    @ 2022-7-11 20:13:00
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+10;
    int x,flag=0;
    int a[N],cnt,len;
    int main() {
    
    	while(cin>>x)
    		a[++cnt]=x;
    	int k=a[cnt];
    	a[cnt--]=0;
    	for(int i=1; i<=cnt; i++)//删除
    		if(k==a[i]) {
    			flag=1;
    			cout<<i+len<<" ";
    
    			for(int j=i; j<=cnt; j++)
    				a[j]=a[j+1];
    			len++;
    			cnt--;
    			i--;
    		}
    
    	if(!flag) {//插入
    		for(int i=1; i<=cnt; i++)
    			if(k<a[i]&&!flag) {
    				flag=2;
    				cnt++;
    				for(int j=cnt; j>=i; j--)
    					a[j]=a[j-1];
    				a[i]=k;
    				cout<<i;
    			}
    
    	}
    	if(!flag) {
    		cout<<++cnt;
    		a[cnt]=k;
    	}
    
    	cout<<endl;
    	for(int i=1; i<=cnt; i++)
    		cout<<a[i]<<" ";
    	return 0;
    }
    
    
    
    • 1
      @ 2022-7-13 8:15:34

      脑瘫解法

      using namespace std;
      const int B=101;
      int m[B],p[B],q[B]; 
      int main() {
      	int sum=0,a,k=0,g=0,f=0;
      	while(cin>>a) {
      		m[sum]=a;
      		q[sum]=a;
      		sum++;
      	}
      	int b=m[sum-1];
      	for(int i=sum-2; i>=0; i--) {
      		if(b==m[i]) {
      			m[i]=999;
      			k++;
      		}
      	}
      	if(k>0) {
      		for(int y=0;y<=sum-2;y++){
      			if(m[y]==q[y]){
      				g++;
      			}
      			else if(m[y]!=q[y]){
      				g++;
      				cout<<g<<" ";
      			}
      		}
      		cout<<endl;
      			for(int i=0; i<=sum-2; i++) {
      				if(m[i]!=999) {
      					cout<<m[i]<<" ";
      				}
      			}
      		}
      	    else if(k==0) {
      		for(int i=1; i<=999; ++i) {
      			for(int i=1; i<=sum-1; ++i) {
      				if(m[i-1]>m[i]) {
      					swap(m[i-1],m[i]);
      				}
      			}
      		}
      		for(int h=0;h<=sum-1;++h){
      			if(q[h]<=b){
      				f++;
      			}
      	        if(q[h]>b){
      				f++;
      				cout<<f;
      				break;
      			}
      	        if(h==sum-2)
      			{f++;
      			 cout<<f;
      			 break;
      			}
      		}
      		cout<<endl;
      		for(int h=0; h<=sum-1; h++) {
      			cout<<m[h]<<" ";
      		}
      	}
      	return 0;
      }
      
      • 1

      信息

      ID
      82
      时间
      1000ms
      内存
      128MiB
      难度
      8
      标签
      递交数
      1389
      已通过
      217
      上传者