L2 028 秀恩愛分得快 (25 分

2021-09-13 18:50:22 字數 1133 閱讀 4172

l2-028 秀恩愛分得快 (25 分)

思路:(1)遍歷每個**裡的人需要約1000*500*500 = 2.5*10^8的複雜度,肯定就爆掉了,所以可以只遍歷題目中的

a與b所在的**,複雜度約為1000*500 = 5*10^5,而且用性別篩選後複雜度又可以下降很多。

(2)a與b是最親密的,a與b是最親密的,a與b是最親密的,重要的事情說三遍,這是題目給出的成立條件,

所以要分別找出a中的最親密的人和b中最親密的人的親密值,然後判斷a,b是否是最親密的一對。

(3)要用字串的輸入,因為要判斷-0的情況,如果是printf("%d",-0);的話結果還是0,沒有加上負號,所以

一定要用性別特殊判斷一下。

#include#include#include#include#include#includeusing namespace std;

const int maxn = 1200;

vector vc[maxn],v1,v2;

set set[maxn];

int gen[maxn]=,mp[maxn][maxn]=;

double a1[maxn]=,a2[maxn]=;

int f(char *s)

int main(void)

} scanf("%s%s",s1,s2);

int t1=f(s1),t2=f(s2);

gen[t1]=(s1[0]=='-'?2:1);

gen[t2]=(s2[0]=='-'?2:1);

double mx1=0.0,mx2=0.0;

for(i=0;i} if(set[i].count(t2))

} }int fg=0;

v1.clear();

for(i=0;iif(a1[i]==mx1)

v2.clear();

for(i=0;iif(a2[i]==mx2&&i!=t1)

//x=(gen[t1]==2?-t1:t1);

//y=(gen[t2]==2?-t2:t2);

if(mx1==a1[t2]&&mx2==a2[t1])

else

for(i=0;i} return 0;

}

L2 028 秀恩愛分得快(25 分)

l2 028 秀恩愛分得快 25 分 古人云 秀恩愛,分得快。網際網路上每天都有大量人發布大量 我們通過分析這些 可以分析人與人之間的親密度。如果一張 上出現了 k 個人,這些人兩兩間的親密度就被定義為 1 k。任意兩個人如果同時出現在若干張 裡,他們之間的親密度就是所有這些同框 對應的親密度之和。...

L2 028 秀恩愛分得快

l2 028 秀恩愛分得快 古人云 秀恩愛,分得快。網際網路上每天都有大量人發布大量 我們通過分析這些 可以分析人與人之間的親密度。如果一張 上出現了 k 個人,這些人兩兩間的親密度就被定義為 1 k。任意兩個人如果同時出現在若干張 裡,他們之間的親密度就是所有這些同框 對應的親密度之和。下面給定一...

天梯賽 L2 028 秀恩愛分得快 25分

古人云 秀恩愛,分得快。網際網路上每天都有大量人發布大量 我們通過分析這些 可以分析人與人之間的親密度。如果一張 上出現了 k 個人,這些人兩兩間的親密度就被定義為 1 k。任意兩個人如果同時出現在若干張 裡,他們之間的親密度就是所有這些同框 對應的親密度之和。下面給定一批 請你分析一對給定的情侶,...