17 變幻的矩陣

2021-10-01 18:29:40 字數 1407 閱讀 3354

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

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

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

如:

1 2 3        7 4 1

4 5 6 變幻為  8 5 2

7 8 9        9 6 3

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

如:

1 2 3        3 6 9

4 5 6 變幻為  2 5 8

7 8 9        1 4 7

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

如:

1 2 3       9 8 7

4 5 6 變幻為 6 5 4

7 8 9       3 2 1

4. 保持原始矩陣,不變幻; 

5. 如果 從原始矩陣 到 目標矩陣 的變幻,不符合任何上述變幻,請輸出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
#if(1)

#include int i,j;

#include using namespace std;

#define a 10+5

int main()

for(i=0;i>b[i][j];

} for(i=0;i}

} if(count==n*n)

count=0;

for(i=0;ifor(i=0;i}

} if(count==n*n)

count=0;

for(i=0;ifor(i=0;i}

} if(count==n*n)

count=0;

for(i=0;ifor(i=0;i}

} if(count==n*n)

cout<<5

}#endif

變幻的矩陣

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

變幻的矩陣

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

變幻的矩陣 2021 02 23

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