1 条题解

  • 0
    @ 2025-8-24 21:32:53

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar kkksc03
    洛谷吉祥物 DA✩ZE

    搬运于2025-08-24 21:32:53,当前版本为作者最后更新于2014-01-01 21:36:39,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    这题主要是理解,经过分析后,我们可以把六个面分别表示为3*3的二维数组,并用1,2,3,4,5,6分别表示前、后、左、右、上、下,也就是一个6*3*3的三维数组。这样,得到以下四种模型:

    操作1:

      for i:=1 to 3 do
      begin
      b[1,i,3]:=a[6,i,3];
      b[6,i,3]:=a[2,i,3];
      b[2,i,3]:=a[5,i,3];
      b[5,i,3]:=a[1,i,3];
      end;
      for i:=1 to 3 do
        for j:=1 to 3 do
        b[4,j,4-i]:=a[4,i,j];
    

    其中a是转换前的,b是转换后的。下面的是一个意思。 操作2:

      for i:=1 to 3 do
      begin
      b[1,i,3]:=a[5,i,3];
      b[5,i,3]:=a[2,i,3];
      b[2,i,3]:=a[6,i,3];
      b[6,i,3]:=a[1,i,3];
      end;
      for i:=1 to 3 do
        for j:=1 to 3 do
        b[4,4-j,i]:=a[4,i,j];
    

    操作3:

      for i:=1 to 3 do
      begin
      b[1,1,i]:=a[3,1,i];
      b[3,1,i]:=a[2,1,i];
      b[2,1,i]:=a[4,1,i];
      b[4,1,i]:=a[1,1,i];
      end;
      for i:=1 to 3 do
        for j:=1 to 3 do
        b[5,j,4-i]:=a[5,i,j];
    

    操作4:

      for i:=1 to 3 do
      begin
      b[1,1,i]:=a[4,1,i];
      b[4,1,i]:=a[2,1,i];
      b[2,1,i]:=a[3,1,i];
      b[3,1,i]:=a[1,1,i];
      end;
      for i:=1 to 3 do
        for j:=1 to 3 do
        b[5,4-j,i]:=a[5,i,j];
    当然,自己手边有个魔方的话,很容易发现这个规律,没有的话也可以看样例自己找。
    
    • 1

    信息

    ID
    972
    时间
    1000ms
    内存
    125MiB
    难度
    3
    标签
    递交数
    1
    已通过
    0
    上传者