12 題目1156 誰是你的潛在朋友

2021-07-10 02:12:11 字數 1091 閱讀 9336

題目描述:「臭味相投」——這是我們描述朋友時喜歡用的詞彙。兩個人是朋友通常意味著他們存在著許多共同的興趣。然而作為乙個宅男,你發現自己與他人相互了解的機會並不太多。幸運的是,你意外得到了乙份北大圖書館的圖書借閱記錄,於是你挑燈熬夜地程式設計,想從中發現潛在的朋友。

首先你對借閱記錄進行了一番整理,把n個讀者依次編號為1,2,…,n,把m本書依次編號為1,2,…,m。同時,按照「臭味相投」的原則,和你喜歡讀同一本書的人,就是你的潛在朋友。你現在的任務是從這份借閱記錄中計算出每個人有幾個潛在朋友。

自己寫的演算法太麻煩了,我弄了乙個結構體,表示編號和偏好,然後再排序,再統計每段相同的個數,再在對應編號的新陣列裡輸出相同的個數。。。。。。

結果別人的**非常簡單,對書做了乙個陣列,把偏好作為書陣列的下標,遍歷一遍,相同的+1即可,最後再遍歷輸出。

//題目1156:誰是你的潛在朋友

#include#include#include #includeusing namespace std;

typedef struct reader

reader;

bool cmp(reader a, reader b)

int main()

sort(reader, reader + n, cmp); //將讀者按照喜愛的書遞增排序,如2,2,2,2,3,3,4,5,5....

for (i = 0; i < n; i++)

else

}for (i = 0; i < n; i++)

}//system("pause");

return 0;

}

優化演算法:

//題目1156:誰是你的潛在朋友

#include#include#include using namespace std;

int main()

; for (int i = 0; i < n; i++)

for (int i = 0; i < n; i++)

}//system("pause");

return 0;

}

題目1156 誰是你的潛在朋友 題目12

沒有難度,需要注意的是b i 不要越界 題目描述 臭味相投 這是我們描述朋友時喜歡用的詞彙。兩個人是朋友通常意味著他們存在著許多共同的興趣。然而作為乙個宅男,你發現自己與他人相互了解的機會並不太多。幸運的是,你意外得到了乙份北大圖書館的圖書借閱記錄,於是你挑燈熬夜地程式設計,想從中發現潛在的朋友。首...

題目1156 誰是你的潛在朋友

題目描述 臭味相投 這是我們描述朋友時喜歡用的詞彙。兩個人是朋友通常意味著他們存在著許多共同的興趣。然而作為乙個宅男,你發現自己與他人相互了解的機會並不太多。幸運的是,你意外得到了乙份北大圖書館的圖書借閱記錄,於是你挑燈熬夜地程式設計,想從中發現潛在的朋友。首先你對借閱記錄進行了一番整理,把n個讀者...

九度題目1156 誰是你的潛在朋友

題目描述 臭味相投 這是我們描述朋友時喜歡用的詞彙。兩個人是朋友通常意味著他們存在著許多共同的興趣。然而作為乙個宅男,你發現自己與他人相互了解的機會並不太多。幸運的是,你意外得到了乙份北大圖書館的圖書借閱記錄,於是你挑燈熬夜地程式設計,想從中發現潛在的朋友。首先你對借閱記錄進行了一番整理,把n個讀者...