樂樂被小學數學課本中「空間與圖形」的內容迷住了,她整天在琢磨著圖形的各種變換:對稱、旋轉、翻轉等等。這天,樂樂用「@」和「-」兩種字元拼成了一塊n x n(1≦n≦20)的方形圖案a,現在她想將其轉換成新的方形圖案b。有以下幾種轉換方法:
方法1:轉90度:圖案按順時針轉90度。
方法2:轉180度:圖案按順時針轉180度。
方法3:轉270度:圖案按順時針轉270度。
方法4:反射:圖案在水平方向翻轉。
方法5:組合:圖案在水平方向翻轉,然後再按照1到3之間的一種再次轉換。
方法6:不改變:原圖案不改變。
方法7:無效轉換:無法用以上方法得到新圖案。
要轉換成圖案b:
按照上述的方法,有方法2、方法4和方法6共三種方法可以實現這種轉換。你只需要輸出:2,表示採用序號最小的方法。
你能幫助樂樂寫乙個程式,來解決這個難題嗎?
第1行:單獨的乙個整數n。
第2行到第n+1行:每行n個字元(不是「@」就是「-」);這是轉換前的方塊圖案。
第n+2行到第2*n+1行:每行n個字元(不是「@」就是「-」);這是轉換後的方塊圖案。
單獨的一行包括1到7之間的乙個數字,表明需要將轉換前的方塊變為轉換後的方塊的轉換方法(序號最小者)。
輸入樣例1:3@-@---@@-@-@@----@輸入樣例2:4----@@@@--@@------@----@-@@--@@-
輸出樣例1:1輸出樣例2:7
#include #define size 1500
using namespace std;
bool a[size][size], b[size][size], t[size][size], t2[size][size], t3[size][size];
int n;
bool comp(bool a[size][size], bool b[size][size]) // 判等
} }return true;}/*
123456
789741
852963
*/bool function1(bool a[size][size]) // 第一種方法 }
return comp(t, b);}/*
123456
789987
654321
*/bool function2(bool a[size][size]) // 第二種方法 }
return comp(t, b);}/*
123456
789369
258147
*/bool function3(bool a[size][size]) // 第三種方法 }
return comp(t, b);}/*
123456
789321
654987
*/bool function4(bool a[size][size]) }
return comp(t, b);
}bool function5(bool a[size][size]) }
for (i = 1; i <= n; i++) }
if (function1(t3))
for (i = 1; i <= n; i++) }
if (function2(t3))
for (i = 1; i <= n; i++) }
if (function3(t3))
return false;
}int main(int argc, char** argv)
} }for (i = 1; i <= n; i++)
} }
if (function1(a))
if (function2(a))
if (function3(a))
if (function4(a))
if (function5(a))
if (comp(a, b))
cout << 7 << endl;
return 0;
}
LeetCode刷題筆記第35題
題目描述 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。解題思路 最直接的想法就是使用二分查詢,如果有序陣列中含有與target值相等的元素,直接返回對應的索引值 如果沒有則在查詢完畢之後,返回對應...
刷題日記 網易 俄羅斯方塊
小易有乙個古老的遊戲機,上面有著經典的遊戲俄羅斯方塊。因為它比較古老,所以規則和一般的俄羅斯方塊不同。熒幕上一共有 n 列,每次都會有乙個 1 x 1 的方塊隨機落下,在同一列中,後落下的方塊會疊在先前的方塊之上,當一整行方塊都被佔滿時,這一行會被消去,並得到1分。有一天,小易又開了一局遊戲,當玩到...
Leetcode刷題 35 搜尋插入位置
問題描述 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。可以假設陣列中無重複元素。示例1 輸入 1,3,5,6 5 輸出 2 考慮的時候想的很簡單,因為是有序陣列,直接暴力遍歷過去就可以了,時間複雜度o n 看了題解裡的提示才...