USACO轉換 矩陣變換,模擬

2021-10-16 09:23:00 字數 1270 閱讀 1132

我們現在要將乙個 n×n大小的由黑白瓷磚構成的正方形圖案轉換為乙個新的正方形圖案。

共有 7 種轉換方式如下:

90 度旋**將圖案順時針旋轉 90 度。

180 度旋**將圖案順時針旋轉 180 度。

270 度旋**將圖案順時針旋轉 270 度。

組合:先進行映象轉換,再按照 1∼3 中的一種方式進行轉換。

不改變:保持原圖案,不做任何改變。

無效轉換:上述任何一種方式都無法得到新圖案。

如果只允許使用上述方式中的一種進行圖形轉換,能否將原圖案轉換為新圖案?

請你求出用哪種轉換方式,可以得到新圖案,輸出這一方式的序號。

如果有多種方式可以滿足條件,則輸出序號較小的方式的序號。

當然,如果無法完成轉換,只能輸出方式 7 無效轉換。

輸入格式

第一行乙個整數 n,表示正方形圖案的大小。

接下來 n 行,每行包含 n 個字元(『-』或『@』),表示初始的正方形圖案。

再接下來 n 行,每行包含 n 個字元(『-』或『@』),表示希望得到的新正方形圖案。

輸出格式

輸出乙個 1∼7 之間的整數,表示將原圖案轉換為新圖案所使用的具體轉換方式的序號。

資料範圍

1≤n≤10

輸入樣例:

3@-@---

@@-@-@

@----@

輸出樣例:

1

#include

#include

#include

#include

using

namespace std;

typedef vector vs;

int n;

void

mirror

(vs& s)

void

rotate

(vs& s)

//90度旋轉可以先主對角線交換,然後映象操作

intcheck

(vs& a, vs& b)

c = a;

mirror

(c);

if(c == b)

return4;

for(

int i =

1; i <=

3; i ++)if

(a == b)

return6;

return7;

}int

main()

Usaco 2007 Dec gold 佇列變換

description fj打算帶他的n 1 n 30,000 頭奶牛去參加一年一度的 全美農場主大獎賽 在這場比賽中,每個參賽者都必須讓他的奶牛排成一列,然後領她們從裁判席前依次走過。今年,競賽委員會在接受隊伍報名時,採用了一種新的登記規則 他們把所有隊伍中奶牛名字的首字母取出,按它們對應奶牛在隊...

transforms CTM,變換矩陣

quartz轉換實現的原理 quartz把繪圖分成兩個部分,使用者空間,即和裝置無關,裝置空間,使用者空間和裝置空間中間存在乙個轉換矩陣 ctm 本章實質是講解ctm quartz提供的3大功能 移動,旋轉,縮放 演示如下,首先載入一張 移動函式cgcontexttranslatectm mycon...

opengl 矩陣變換

opengl 矩陣變換 opengl 座標系的變換如下圖 我們給我們的圖形,設定好頂點座標後,通過model matrix 變換為世界座標,然後 view matrix相機座標,projection matrix 螢幕座標x,y 1,1 矩陣變換的結果是把三維的世界最終裁剪為二維的螢幕,數學的說法就...