• cf12E Start of the season(构造,,,)


    题意:

    给一个偶数N。

    构造出一个矩阵。

    满足:主对角线上全为0。每一行是0~N-1的一个全排列。矩阵关于主对角线对称。

    思路:

    觉得是智商题,,,,看完题解后觉得不难,但是我就是没想出来。只想到了前面一部分。哎观察力,,,,,

    例:N=6

    构造:

    12345

    23451

    34512

    45123

    51234

    满足条件。

    现在每行要加上一个零。发现主对角线上的数正好是1-5的一个全排列。把它们和0交换,放到每行和每列的末尾。

    023451

    204513

    340125

    451032

    512304

    135240

    出来了。。。。。

    代码:

    int n;
    int ans[1005][1005];
    
    int main(){
    
        cin>>n;
        n--;
        rep(i,1,n) ans[1][i]=i;
        rep(i,2,n){
            rep(j,2,n) ans[i][j-1]=ans[i-1][j];
            ans[i][n]=ans[i-1][1];
        }
        rep(i,1,n){
            ans[i][n+1]=ans[i][i];
            ans[i][i]=0;
        }
        rep(i,1,n){
            ans[n+1][i]=ans[i][n+1];
        }
    
        rep(i,1,n+1){
            rep(j,1,n+1) printf("%d ",ans[i][j]); cout<<endl;
        }
    
    
        return 0;
    }
  • 相关阅读:
    Symmetric Order
    Red and Black
    Sticks(递归经典)
    Pascal Library
    cantor的数表
    OJ 调试技巧:VS2010 中 通过设置编译参数定义宏,无需修改源文件重定向标准输入输出
    strcmp
    最短周期串
    字母重排
    codeblocks 单步调试
  • 原文地址:https://www.cnblogs.com/fish7/p/4311972.html
Copyright © 2020-2023  润新知