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