1 条题解

  • 0
    @ 2025-2-14 21:09:17

    C :

    #include<stdio.h>
    
    int main()
    {
    	int k,n[13],i,t=0,a,b,c,d,e,f;
    	while(scanf("%d",&k)!=EOF,k)
    	{
    		if(t++)
    			puts("");
    		for(i=0;i<k;i++)
    			scanf("%d",&n[i]);
    		for(a=0;a<k-5;a++)
    			for(b=a+1;b<k-4;b++)
    				for(c=b+1;c<k-3;c++)
    					for(d=c+1;d<k-2;d++)
    						for(e=d+1;e<k-1;e++)
    							for(f=e+1;f<k;f++)
    								printf("%d %d %d %d %d %d\n",n[a],n[b],n[c],n[d],n[e],n[f]);
    	}
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    
    int main()
    {
    	int k,n[13],i,t=0,a,b,c,d,e,f;
    	while(scanf("%d",&k)!=EOF,k)
    	{
    		if(t++)
    			puts("");
    		for(i=0;i<k;i++)
    			scanf("%d",&n[i]);
    		for(a=0;a<k-5;a++)
    			for(b=a+1;b<k-4;b++)
    				for(c=b+1;c<k-3;c++)
    					for(d=c+1;d<k-2;d++)
    						for(e=d+1;e<k-1;e++)
    							for(f=e+1;f<k;f++)
    								printf("%d %d %d %d %d %d\n",n[a],n[b],n[c],n[d],n[e],n[f]);
    	}
    	return 0;
    }
    

    Pascal :

    program oj_1100;
    var
        k,k1,i:longint;
        a,s:array[0..13]of longint;
        b:array[1..13]of boolean;
    procedure print(p:longint);
    var
        q:longint;
    begin
        for q:=1 to p-1 do
        begin
            write(a[q],' ');
        end;
        write(a[p]); 
        writeln;
    end;
    procedure search(j:longint);
    var
        q:longint;
    begin
        if j>6 then print(6)
        else
        begin
            for q:=1 to k do
                if (b[q]=false)and(s[q]>a[j-1]) then
                begin
                    a[j]:=s[q];
                    b[q]:=true;
                    search(j+1);
                    b[q]:=false;
                end;
        end;
    end;
    begin
        read(k);
        repeat
    
    
    
            for i:=1 to k do
                read(s[i]);
            search(1);
            read(k);
            if k<>0 then
                writeln;
    
        until k=0;
    end.
    
    
    

    Java :

    import java.util.Scanner;
    
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner in = new Scanner(System.in);
    		int count=0;
    		while(in.hasNextInt()){
    			int n = in.nextInt();
    			if(n==0)
    				break;
    			if(count++>0)
    				System.out.println();
    			boolean[] vis = new boolean[n];
    			int[] a = new int[n];
    			for(int i=n-1;i>=0;i--){
    				a[i]=in.nextInt();
    			}
    			com(vis,a,n,6);
    		}
    	}
    
    	public static void com(boolean[] vis, int[] a, int n, int m) {
    		if (n < m)
    			return;
    		if (m == 0) {
    			print(vis, a);
    			return;
    		}
    		vis[n - 1] = true;
    		com(vis, a, n - 1, m - 1);
    		vis[n - 1] = false;
    		com(vis, a, n - 1, m);
    	}
    
    	public static void print(boolean[] vis, int[] a) {
    		int count = 0;
    		for (int i = a.length-1; i>=0;i--) {
    			if (vis[i] == true) {
    				count++;
    				if (count == 6)
    					System.out.println(+a[i]);
    				else
    					System.out.print(a[i] + " ");
    			}
    		}
    	}
    }
    
    

    Python :

    def space_input(p=''):
        s=raw_input(p).split()
        for i in range(len(s)):
            s[i]=eval(s[i])
        return tuple(s)
    s=space_input()[1:]
    while s!=():
        l=len(s)
        a=[0,1,2,3,4,5]
        while True:
            for i in range(6):
                print s[a[i]],
            print
            if a[5]<l-1:
                a[5]+=1
            elif a[4]<l-2:
                a[4]+=1
                a[5]=a[4]+1
            elif a[3]<l-3:
                a[3]+=1
                a[4]=a[3]+1
                a[5]=a[4]+1
            elif a[2]<l-4:
                a[2]+=1
                a[3]=a[2]+1
                a[4]=a[3]+1
                a[5]=a[4]+1
            elif a[1]<l-5:
                a[1]+=1
                a[2]=a[1]+1
                a[3]=a[2]+1
                a[4]=a[3]+1
                a[5]=a[4]+1
            elif a[0]<l-6:
                a[0]+=1
                a[1]=a[0]+1
                a[2]=a[1]+1
                a[3]=a[2]+1
                a[4]=a[3]+1
                a[5]=a[4]+1
            else:
                break
        print
        s=space_input()[1:]
    
    
    • 1

    信息

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