變幻的矩陣

2021-07-26 20:34:24 字數 1589 閱讀 2538

變幻的矩陣

重點內容

描述 有乙個n x n(n為奇數,且1 <= n <= 10)的矩陣,矩陣中的元素都是字元。這個矩陣可能會按照如下的幾種變幻法則之一進行變幻(只會變幻一次)。

現在給出乙個原始的矩陣,和乙個變幻後的矩陣,請編寫乙個程式,來判定原始矩陣是按照哪一種法則變幻為目標矩陣的。

按照順時針方向旋轉90度;

如:

1 2 3 7 4 1

4 5 6 變幻為 8 5 2

7 8 9 9 6 3

按照逆時針方向旋轉90度;

如: 1 2 3 3 6 9

4 5 6 變幻為 2 5 8

7 8 9 1 4 7

**元素不變(如下例中的 5),其他元素(如下例中的3)與「以**元素為中心的對應元素」(如下例中的7)互換;

如: 1 2 3 9 8 7

4 5 6 變幻為 6 5 4

7 8 9 3 2 1

保持原始矩陣,不變幻;

如果 從原始矩陣 到 目標矩陣 的變幻,不符合任何上述變幻,請輸出5

輸入 第一行:矩陣每行/列元素的個數 n;

第二行到第n+1行:原始矩陣,共n行,每行n個字元;

第n+2行到第2*n+1行:目標矩陣,共n行,每行n個字元;

輸出 只有一行,從原始矩陣 到 目標矩陣 的所採取的 變幻法則的編號。

樣例輸入

5 a b c d e

f g h i j

k l m n o

p q r s t

u v w x y

y x w v u

t s r q p

o n m l k

j i h g f

e d c b a

樣例輸出

3

#include

#include

using

namespace

std;

int n;

char a[111],b[11][11],c;

int fun1(char *a)

else}}

return1;}

int fun2(char *a)

else}}

return1;}

int fun3(char *a)

else}}

return1;}

int fun4(char *a)

else}}

return1;}

int main()

a[i]=c;

}for (int i=0;ifor(int j=0;jcin>>c;

if (c==' '||c=='\n')

b[i][j]=c;}}

if(fun1(a)==1)

if(fun2(a)==1)

if(fun3(a)==1)

if(fun4(a)==1)

printf("5");

return

0;}

變幻的矩陣

總時間限制 1000ms 記憶體限制 65536kb 描述 有乙個n x n n 為奇數,且 1 n 10 的矩陣,矩陣中的元素都是字元。這個矩陣可能會按照如下的幾種變幻法則之一進行變幻 只會變幻一次 現在給出乙個原始的矩陣,和乙個變幻後的矩陣,請編寫乙個程式,來判定原始矩陣是按照哪一種法則變幻為目...

17 變幻的矩陣

有乙個n x n n為奇數,且1 n 10 的矩陣,矩陣中的元素都是字元。這個矩陣可能會按照如下的幾種變幻法則之一進行變幻 只會變幻一次 現在給出乙個原始的矩陣,和乙個變幻後的矩陣,請編寫乙個程式,來判定原始矩陣是按照哪一種法則變幻為目標矩陣的。1.按照順時針方向旋轉90度 如 1 2 3 7 4 ...

變幻的矩陣 2021 02 23

個人理解 要判斷清楚發生變化的矩陣與原矩陣之間的關係 很容易混淆 分情況討論 太久沒用陣列傳 居然忘記怎麼寫實參了 記錄一下 實參直接寫陣列名即可judge judged,change 形參可以有多種形式int judge char str int judge char str include us...