NK1437: 校长杯
[ Source : Seaeagle ]
1437: 校长杯
Time Limit: 1500 ms Memory Limit: 32000 kB
Judge type: Multi-cases Special Judge
Total Submit : 113 (54 users) Accepted Submit : 70 (48 users) Page View : 3994
在南开大学,一年一度的“校长杯”三大球比赛是广大师生必不可少的一次运动大餐。随着南开大学学校规模的扩大和体育事业的发展,参与校长杯赛事的师生越来越多。竞赛采用的是传统的“循环赛”制,即每队的选手都必须和其他各队选手较量一次。为了竞赛日程安排方便,报名的队伍数n都将是2的k次幂,(0<k<9,且k为自然数)。为了避免参赛师生过于疲劳,竞赛安排每支队伍每天只比赛一次。同时,竞赛一共进行(n-1)天。
现在,竞赛组委会想请你帮忙设计一个循环赛的日程表,使得竞赛的日程安排满足上述要求。
Input
输入只有一个数k。
Output
请输出一个n行,每行有n个正整数的循环赛日程表。相邻的两个正整数用一个空格隔开。
其中,第i行(0<i<n+1)表示第i队的参赛日程,第1个正整数为i,表示参赛队的队号,后面的(n-1)个正整数表示该队在参赛日程中,依次较量的队号。
Sample Input
1
Sample Output
1 2 2 1
Source
SeaeagleBest User : zhaojiedi1992
View Code
1 #include<stdio.h> 2 #include<math.h> 3 #include<stdlib.h> 4 int main() 5 { 6 int k,i,j,p,n; 7 //int str1[300],str2[300]; 8 scanf("%d",&k); 9 n=(int)pow(2,k); 10 p=n; 11 for(i=1;i<=n;i++) 12 { 13 p=n-1; 14 printf("%d",i); 15 j=i>0?i-1:n; 16 while(p--) 17 { 18 if(j<=0)j+=n; 19 printf(" %d",j--); 20 } 21 printf("\n"); 22 } 23 //system("pause"); 24 return 0; 25 }
posted on 2012-08-21 19:54 LinuxPanda 阅读(186) 评论(0) 编辑 收藏 举报