天天看點

USACO 1.2.2 Transformations 方塊轉換

一塊N x N(1<=N<=10)正方形的黑白瓦片的圖案要被轉換成新的正方形圖案。寫一個程式來找出将原始圖案按照以下列轉換方法轉換成新圖案的最小方式: 1:轉90度:圖案按順時針轉90度。 2:轉180度:圖案按順時針轉180度。 3:轉270度:圖案按順時針轉270度。 4:反射:圖案在水準方向翻轉(以中央鉛垂線為中心形成原圖案的鏡像)。 5:組合:圖案在水準方向翻轉,然後再按照1到3之間的一種再次轉換。 6:不改變:原圖案不改變。 7:無效轉換:無法用以上方法得到新圖案。 如果有多種可用的轉換方法,請選擇序号最小的那個。

第一行: 單獨的一個整數N。 第二行到第N+1行: N行每行N個字元(不是“@”就是“-”);這是轉換前的正方形。 第N+2行到第2*N+1行: N行每行N個字元(不是“@”就是“-”);這是轉換後的正方形。

單獨的一行包括1到7之間的一個數字(在上文已描述)表明需要将轉換前的正方形變為轉換後的正方形的轉換方法。