L2 028 秀恩愛分得快

2021-08-22 13:10:58 字數 2789 閱讀 9896

l2-028 秀恩愛分得快

古人云:秀恩愛,分得快。

網際網路上每天都有大量人發布大量**,我們通過分析這些**,可以分析人與人之間的親密度。如果一張**上出現了 k 個人,這些人兩兩間的親密度就被定義為 1/k。任意兩個人如果同時出現在若干張**裡,他們之間的親密度就是所有這些同框**對應的親密度之和。下面給定一批**,請你分析一對給定的情侶,看看他們分別有沒有親密度更高的異性朋友?

輸入格式:

輸入在第一行給出 2 個正整數:n(不超過1000,為總人數——簡單起見,我們把所有人從 0 到 n-1 編號。為了區分性別,我們用編號前的負號表示女性)和 m(不超過1000,為**總數)。隨後 m 行,每行給出一張**的資訊,格式如下:

k p[1] … p[k]

其中 k(<= 500)是該**中出現的人數,p[1] ~ p[k] 就是這些人的編號。最後一行給出一對異性情侶的編號 a 和 b。同行數字以空格分隔。題目保證每個人只有乙個性別,並且不會在同一張**裡出現多次。

輸出格式:

首先輸出「a pa」,其中 pa 是與 a 最親密的異性。如果 pa 不唯一,則按他們編號的絕對值遞增輸出;然後類似地輸出「b pb」。但如果 a 和 b 正是彼此親密度最高的一對,則只輸出他們的編號,無論是否還有其他人並列。

輸入樣例 1:

10 4

4 -1 2 -3 4

4 2 -3 -5 -6

3 2 4 -5

3 -6 0 2

-3 2

輸出樣例 1:

-3 2

2 -5

2 -6

輸入樣例 2:

4 4

4 -1 2 -3 0

2 0 -3

2 2 -3

2 -1 2

-3 2

輸出樣例 2:

-3 2

解題思路:

這題解不出,搬運一篇解法。

1.只處理被詢問的情侶的親密度,否則會超時

2.要注意輸入數字要用字串,還要標記性別 因為 輸出-0 得到的數字是0

也就是說用int 型輸入 是沒有辦法 辨別編號0的性別的

3.要注意被詢問的情侶可能沒有出現在**當中。

4.輸出的時候也要注意負號

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define clr(a) memset(a, 0, sizeof(a))

#define pb push_back

using

namespace

std;

typedef

long

long ll;

typedef

long

double ld;

typedef

unsigned

long

long ull;

typedef pair pii;

typedef pair pll;

const

double pi = acos(-1);

const

double e = exp(1);

const

double eps = 1e-6;

const

int inf = 0x3f3f3f3f;

const

int maxn = 1e3 + 5;

const

int mod = 1e9 + 7;

double ans[2][maxn];

map m;

int tran(char s)

if (s[0] == '-')

m[ans] = -1;

else

m[ans] = 1;

return ans;

}void print(int x, int y)

int main()

}int a, b;

clr(ans);

scanf("%s", s);

a = tran(s);

scanf("%s", s);

b = tran(s);

vector

::iterator it;

double max[2] = ;

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

;for (it = g[i].begin(); it != g[i].end(); it++)

if (flag[0])

max[0] = max(max[0], ans[0][*it]);}}

if (flag[1])

max[1] = max(max[1], ans[1][*it]);}}

}if (ans[0][abs(b)] == max[0] && ans[1][abs(a)] == max[1])

else}}

}}

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

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

L2 028 秀恩愛分得快 (25 分

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...

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

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