week11作業 B 必做題11 2

2021-10-06 02:44:43 字數 1506 閱讀 4270

題目

蒜頭君的班級裡有 n^2 個同學,現在全班同學已經排列成乙個 n∗n 的方陣,但是老師卻臨時給出了一組新的列隊方案為了方便列隊,所以老師只關注這個方陣中同學的性別,不看具體的人是誰。

這裡我們用 0 表示男生,用 1 表示女生.

現在蒜頭君告訴你同學們已經排好的方陣是什麼樣的,再告訴你老師希望的方陣是什麼樣的.他想知道同學們已經列好的方陣能否通過順時針旋轉變成老師希望的方陣.

不需要旋轉則輸出 0順時針旋轉 90° 則輸出 1順時針旋轉 180° 則輸出 2順時針旋轉 270° 則輸出 3若不滿足以上四種情況則輸出 −1,若滿足多種情況,則輸出較小的數字輸入格式第一行為乙個整數 n.

接下來的 n 行同學們已經列好的 01 方陣;再接下來的 n 行表示老師希望的的 01 方陣。

輸出格式輸出僅有一行,該行只有乙個整數,如題所示。資料範圍對於 100% 的資料中,1≤n≤20輸出時每行末尾的多餘空格,不影響答案正確性

樣例輸入

400

0000

0001

0000

0000

0001

0000

0000

00

樣例輸出

1
解題思路

旋轉與不旋轉,如若旋轉,旋轉多少度滿足條件?

判斷兩個方陣是否相同,則判斷它們每行每列所對應的元素是否相同。

把方陣a順時針旋轉90°與b做比較,會發現其實就是比較a[i][j]與b[j][n-i+1]是否相同

把方陣a順時針旋轉180°與b做比較,會發現其實就是比較a[i][j]和b[n-i+1][n-j+1]是否相同

把方陣a順時針旋轉270°與b做比較,會發現其實就是比較a[i][j]和b[n-j+1][i]是否相同

比如:

a00

1000

111b

1001

0010

1a轉90°,其實是a第一行變成了b的第三列,第二行變成了b的第二列,第三行變成了b的第一列。

那麼對於n階矩陣涅?

我們不難發現,a第一行變成了b第n列,a第二行變成了b第n-

1列……

codes

#include

using namespace std;

int n;

int a[21]

[21],b[21]

[21];

bool same()

bool sp1()

bool sp2()

bool sp3()

intmain()

WEEK11 作業 B 必做題11 2

蒜頭君的班級裡有 n2個同學,現在全班同學已經排列成乙個 n n 的方陣,但是老師卻臨時給出了一組新的列隊方案。為了方便列隊,所以老師只關注這個方陣中同學的性別,不看具體的人是誰。這裡我們用 00 表示男生,用 11 表示女生。現在蒜頭君告訴你同學們已經排好的方陣是什麼樣的,再告訴你老師希望的方陣是...

Week11作業 A 必做題 11

題目 蒜頭君從現在開始工作,年薪 n 萬。他希望在蒜廠附近買一套 60 平公尺的房子,現在 是 200 萬。假設房子 以每年百分之 k 增長,並且蒜頭君未來年薪不變,且不吃不喝,不用交稅,每年所得 n萬全都積攢起來,問第幾年能夠買下這套房子?第一年年薪 n 萬,房價 200 萬 輸入格式 一行,包含...

week11作業 A 必做題11 1

蒜頭君從現在開始工作,年薪 nnn 萬。他希望在蒜廠附近買一套 606060 平公尺的房子,現在 是 200200200 萬。假設房子 以每年百分之 kkk 增長,並且蒜頭君未來年薪不變,且不吃不喝,不用交稅,每年所得 nnn 萬全都積攢起來,問第幾年能夠買下這套房子?第一年年薪 nnn 萬,房價 ...