|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- #define max_team_num 64
- int schedule[max_team_num+1][max_team_num+1];
- //n,m代表横纵坐标,i代表当前坐标的值,num代表分割的区域的边长。初始化range(1,1,1,8)代表在(1,1)坐标上的值为1,方框边长为8,之后进行迭代
- void range(int i, int n, int m, int num)
- {
- if (num==2)
- {
- schedule[n][m] = i;
- schedule[n+1][m+1] = i;
- schedule[n][m+1] = i+1;
- schedule[n+1][m] = i+1;
- }
- else
- {
- range(i, n, m, num/2);
- range(i+num/2, n+num/2, m, num/2);
- range(i+num/2, n, m+num/2, num/2);
- range(i, n+num/2, m+num/2, num/2);
- }
- }
- int main(void)
- {
- int num;
- printf("please input the team number:");
- scanf("%d",&num);
- //
- if ( num & num-1 )
- {
- printf("team number must be the multiple of 2:\n");
- return -1;
- }
- //
- range(1,1,1,num);
- printf("队伍\t");
- for (int i=1; i<num; i++)
- {
- printf("第%d天\t",num);
- }
- putchar('\n');
- //
- for (int i=1; i<num+1; i++)
- {
- for (int j=1; j<num+1; j++)
- {
- printf("%d\t",schedule[i][j]);
- }
- putchar('\n');
- }
- return 0;
- }
复制代码 |
|