题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1342
题目大意:没看题目,就看数字找规律来着。
1 2 3 4 5 6
1 2 3 4 5 7
1 2 3 4 6 7
1 2 3 5 6 7
1 2 4 5 6 7
1 3 4 5 6 7
2 3 4 5 6 7
轮着依次输出,按顺序前六个先输出,然后第六个变成下一个,一直到第n个,然后第五个变成第六个。。以此类推。
所以用好多个循环就行。
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int n,num[105]={0}; 6 int i,a,b,c,d,e,f; 7 while(cin>>n&&n){ 8 for (i=1;i<n+1;i++){ 9 cin>>num[i]; 10 } 11 for (a=1;a<=n-5;a++){ 12 for (b=a+1;b<=n-4;b++){ 13 for (c=b+1;c<=n-3;c++){ 14 for (d=c+1;d<=n-2;d++){ 15 for (e=d+1;e<=n-1;e++){ 16 for (f=e+1;f<=n;f++){ 17 printf("%d %d %d %d %d %d ",num[a],num[b],num[c],num[d],num[e],num[f]); 18 } 19 } 20 } 21 } 22 } 23 } 24 printf(" "); 25 } 26 return 0; 27 }
两个测试样例之间必须得要有换行,不然就会Compilation Error。很神奇的错误,杭电就是这么奇葩,我一模一样的代码发上去就wa,然后改了下ce,然后又ac了。丧心病狂。