zoukankan      html  css  js  c++  java
  • 魔法阵

    【题目描述】 

    昔有人,名斯凯利恩夫·卢克。其英文名乃SkyLYnf·Luke。汝知之何名?曰实,吾亦不知。其有别号曰ylm。何?吾亦不知。汝宜喻之。其乃吾。

    他有一个Servant,叫做阿尔托莉雅·潘德拉贡,英文名是Arturia Pendragon,别名是Saber。她的 誓约胜利之剑(Excalibur)比红A的无限剑制厉害多了!(上一题的红A没有Saber厉害)

    【题目描述·真】 

    有一天,skylynf正在画召唤阵。这时候saber走到了召唤阵中间,告诉skylynf说:“你个菜鸟master,连召唤阵都画错了,赶快重画!”

    于是saber拿出了一张写满了召唤阵画法的纸。

    请你写一个程序来帮skylynf修改魔法阵,以防他被saber拿剑砍死。

    魔法阵是一个n行n列的数列阵。每一个数都小于2147483647。

    魔法阵被粗心的skylynf给画歪了,现在saber要让他把整个魔法阵移一下位。

    saber给了一个例子:


    1是一个错误的魔法阵。现在我们要像图2这样移位。图3是正确的魔法阵。

    1的第4列,每个数字向下移4位,刚好回到原位,如图3所示。

     

    这个模式是这样的:对于第i列的魔法阵来说,把每一个数字向下移i位。对于超过n的,就当做一个环,比如矩阵第四行第一列的数字21,我们就将它行数加一,发现他超过了4,于是就换到了第一行。

    现在给你一个n*n的魔法阵,请按照这个规则来输出正确的魔法阵。

    Skylynf已经超级口渴了。现在他特别想喝水。请你赶快写完这题好让skylynf去让DTZ倒水给他喝。

    【输入描述】 

    第一行一个数n(n小于100)

    接下来n行,每行n个数。表示skylynf魔法阵。

    【输出描述】 

    N行,每行n个数,表示正确的魔法阵。

    【样例输入】 

    4

    13 11 33 31

    44 4 5 16

    40 15 26 29

    21 43 13 13

    【样例输出】 

    21 15 5 31

    13 43 26 16

    44 11 13 29

    40 4 33 13

    【数据范围】 

    N<=100

    Aij<maxlongint< span=""> </maxlongint<>



    分析

    输入时,把错误的魔法阵放在一个数组里,把正确的魔法阵放在另一个数组里。

    注意:对于第  i  列的魔法阵来说,把每一个数字向下移  i   位。


    程序:

    var
    n,i,j:longint;
    a,b:array[0..300,0..300]of longint;
    begin
        readln(n);
        for i:=1 to n do
        for j:=1 to n do
        read(a[i,j]);
        for j:=1 to n do
        begin
            for i:=n downto 1 do
            if (i+j)>n then b[i+j-n,j]:=a[i,j] else
            if (i+j)=n then b[n,j]:=a[i,j] else
            if (i+j)<n then b[i+j,j]:=a[i,j];
        end;
        for i:=1 to n do
        begin
            for j:=1 to n do
            write(b[i,j],' ');
            writeln;
        end;
    end.


  • 相关阅读:
    集合(5)—Map之HashMap()
    《转》python 10 集合
    《转》python8元组
    《转》python(7)列表
    《转》python数据类型
    《转》python对象
    《转》python
    《转》python基础下
    《转》python学习基础
    《转》python 9 字典,numpy
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500115.html
Copyright © 2011-2022 走看看