我們現在要將乙個 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 矩陣變換的結果是把三維的世界最終裁剪為二維的螢幕,數學的說法就...