1 条题解

  • 0
    @ 2023-6-11 12:16:46

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    int main(){ 
    	int a[1000]={0},n,i,r[1000]={0},k,p,j,x[1000][100]={0};
    	cin>>n;
    	for(i=1;i<=n;i++){
    		cin>>a[i];
    	}
    	
    	k=0; 
    	for(i=1;i<=n;i++){ 
    		p=-1; 
    		for(j=1;j<=k;j++){
    			if(r[j]>=a[i]){
    				if(p==-1){
    					p = j;
    				} else if(r[j]<r[p]){
    					p=j;
    				}
    			} 
    		}  
    		if(p==-1){
    			k++;
    			r[k]=a[i];
    			x[k][1]=a[i];
    		}else{
    			r[p]=a[i];
    			for(int yy=1;yy<=n;yy++){
    				if(x[p][yy]==0){
    					x[p][yy]=a[i];
    					break;
    				}
    			}
    		}
    	} 
    	
    	cout<<k<<endl;
    	for(int i=1;i<=k;i++){
    		cout<<i<<":";
    		for(int j=1;x[i][j]!=0;j++){
    			cout<<x[i][j]<<" ";
    		}
    		cout<<endl;
    	}
    }
    
    

    Python :

    n=int(input())
    sr=input().split()
    a=[0 for i in range(n)]
    for i in range(n):
        a[i]=int(sr[i])
    k=0
    k1=[0]
    k1[0]=a[0]
    k2=["1:"]
    k2[0]=k2[0]+str(a[0])
    for i in range(1,n):
        f=1
        for j in range(k+1):
            if(a[i]<k1[j]):
                f=0
                break
        if(f==1):
            k=k+1
            k1.append(a[i])
            k2.append(str(k+1)+":"+str(a[i]))
        else:
            k1[j]=a[i]
            k2[j]=k2[j]+" "+str(a[i])
    print(k+1)
    for i in range(k+1):
        print(k2[i])
    
    • 1

    信息

    ID
    2295
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者