• 51..分治算法练习:  4378 【Laoguo】循环比赛



     时间限制: 1 s

     空间限制: 1000 KB

     题目等级 : 黄金 Gold

    题解

     查看运行结果

    题目描述 Description

    设有n个选手进行循环比赛,其中n=2m次方,要求每名选手要与其他n-1名选手都赛一次,每名选手每天比赛一次,循环赛共进行n-1天,要求每天没有选手轮空。空。

    输入描述 Input Description

    输入1个整数m

    输出描述 Output Description

    输出表格形式的比赛安排表。

    样例输入 Sample Input

    3

    样例输出 Sample Output

    1 2 3 4 5 6 7 8

    2 1 4 3 6 5 8 7

    3 4 1 2 7 8 5 6

    4 3 2 1 8 7 6 5

    5 6 7 8 1 2 3 4

    6 5 8 7 2 1 4 3

    7 8 5 6 3 4 1 2

    8 7 6 5 4 3 2 1

    数据范围及提示 Data Size & Hint

    1<=m<=8

    代码:

    #include

    using namespace std;

    #include

    #include

    int n,m,p[260][260];

    void f(int l)

    {

           if(l==1)return;

           else f(l/2);//

           for(int i=1;i<=l/2;++i)

             for(int j=1;j<=l/2;++j)

             {

                 p[i+l/2][j]=p[i][j]+l/2;

                 p[i][j+l/2]=p[i][j]+l/2;

                 p[i+l/2][j+l/2]=p[i][j];

             }

    }

    int main()

    {

           cin>>m;

           n=pow(2,m);//bianchang

           p[1][1]=1;

           if(m==0)

           {

                 

                  return 0;//坑爹数据有一个m0,应该没有输出才是

           }

           f(n);

           for(int i=1;i<=n;++i)

             {

                 for(int j=1;j<=n;++j)

                 printf("%d ",p[i][j]);

                 printf(" ");

             }

           return 0;

    }

  • 相关阅读:
    成佛、远不止渡沧海
    导航栏中各按钮在点击当前按钮变色其他按钮恢复为原有色的实现方法(vue、jq、原生js)
    vue动态绑定src加字符串拼接
    对象中那些不注意的用法
    vue实现实时监听文本框内容的变化(最后一种为原生js)
    table
    toFixed()精度丢失;复选框全选、取消
    vue.js
    vue项目知识点总结
    JVM基础知识总结
  • 原文地址:https://www.cnblogs.com/csgc0131123/p/5290390.html
Copyright © 2020-2023  润新知