旋轉矩陣 北航2008

2021-07-14 16:10:10 字數 1106 閱讀 1786

題目描述:任意輸入兩個9階以下矩陣,要求判斷第二個是否是第乙個的旋轉矩陣,如果是,輸出旋轉角度(0、90、180、270),如果不是,輸出-1。

要求先輸入矩陣階數,然後輸入兩個矩陣,每行兩個數之間可以用任意個空格分隔。行之間用回車分隔,兩個矩陣間用任意的回車分隔。

輸入:輸入有多組資料。

每組資料第一行輸入n(1<=n<=9),從第二行開始輸入兩個n階矩陣。

輸出:判斷第二個是否是第乙個的旋轉矩陣,如果是,輸出旋轉角度(0、90、180、270),如果不是,輸出-1。

如果旋轉角度的結果有多個,則輸出最小的那個。

樣例輸入:

3

1 2 3

4 5 6

7 8 9

7 4 1

8 5 2

9 6 3

樣例輸出:90

#includeusing namespace std;

bool f0();

bool f180();

bool f90();

bool f270();

int a[9][9], b[9][9];

int i, j;

int n;

int main()

//for

}//for

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

}//for

}//for

if (f0())

cout << 0 << endl;

else if (f90())

cout << 90 << endl;

else if (f180())

cout << 180 << endl;

else if (f270())

cout << 270 << endl;

else

cout << -1 << endl;

}//while

return 1;

}//main

bool f0()

{ for (i = 0; i

推到 旋轉矩陣公式 旋轉矩陣公式推導

1.在二維平面中 如下圖所示,在xoyxoy平面中有一向量op x,y top x,y t,旋轉 角後變為向量op x y top x y t。據圖可得 x op cos y op sin x op cos y op sin 經旋轉 角後有 x op cos op cos cos sin sin x...

旋轉矩陣演算法

question 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 void func int n 要求 通過傳入的n,輸出乙個4 4的矩陣,順序如上圖所示.code nxn矩陣 include using namespace std include define max...

原地旋轉矩陣

題目 給定乙個大小為n n的矩陣a,如何在空間複雜度為o 1 的情況下,將矩陣順時針旋轉90度?解析 對於矩陣旋轉,最容易想到的便是利用乙個大小同樣為n n的臨時矩陣t,將原矩陣a i j 放在 t j n i 1 位置處。最後將矩陣t的資料拷貝置矩陣a中,完成矩陣的旋轉。但是這種方法的空間複雜度為...