• 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;

    }

  • 相关阅读:
    数组过滤
    数组过滤
    以文件流的形式下载文件
    antD 时间年的写法
    如何判断一个js对象是否是Array,
    webSocket 使用
    react map循环的dom,点击让当前数组里的isShow显示false
    react react-draft-wysiwyg使用
    jQuery placeholder插件 让IE也能够支持placeholder属性
    JavaScript 逼真图片倒计时实现代码 js时间图片倒计时
  • 原文地址:https://www.cnblogs.com/csgc0131123/p/5290388.html
Copyright © 2020-2023  润新知