NYOJ 130 相同的雪花 雜湊

2021-07-24 20:54:06 字數 469 閱讀 6020

思路:以每組的和為key對每片雪花進行雜湊,然後從和相等的雪花裡進行匹配。

注意雪花的匹配順序可以順時針也可以逆時針

#include #include #include #include using namespace std;

const int maxn = 100001;//最大數量

const int mod = 100000;//最大編號

struct snow

};vectorids[maxn];//雜湊

int arr[6];

int t;

bool issame(int arr1,int arr2)//判斷是否相同

return false;

}void init() //容器初始化

{ for(int i=0;i=2)//如果乙個編號裡有超過兩個的雪花,說明他們有可能相同

{for(int j=0;j

nyoj 130 相同的雪花

題目連線 題意 乙個雪花有六個角,每個角對應乙個值,給出n個雪花,問能不能是否存在兩片相同的雪花 給出的角可能是逆序的 解題思路 由於有很多雪花,因此資料很大,如果單純的進行直接查詢的話肯定會te,因此可以用雜湊的方法,其中雜湊函式可以用每個雪花的各個角的和來定義 然後對映到相應的位置。一旦找到就不...

NYOJ130 相同的雪花

題目分析 很明顯這道題的資料量很大,所以不可能進行兩兩的判斷,所以需要將可能相同的資料對映到乙個集合中,然後在可能相同的資料集合中進行兩兩比較。如果兩組資料六個數的和相同,那麼就有可能是相同的雪花。但是六個數的和可能比較大,怎麼把它們分開呢,那只能建立乙個hash表,然後通過mod乙個比較大的素數來...

100 相同的樹

鏈結 給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 1 輸入 1 1 2 3 2 3 1,2,3 1,2,3 輸出 true示例 2 輸入 1 1 2 2 1,2 1,null,2 輸出 false示例 3 輸入 1 1 2 ...