1 条题解
-
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; }
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
- 上传者