每日一題 No 55 Conscripttion

2021-08-01 19:02:50 字數 1052 閱讀 6060

需要招募女兵n人,男兵m人。每徵募乙個人需要花費10000美元。但是如果已經招募的人中有一些關係親密的人,那麼可以少花一些錢。給出若干的男女之間的1~9999之間的親密度關係,徵募某個人的費用是10000-(已經徵募的人中和自己的親密度的最大值)。要求通過適當的徵募順序使得徵募所有人所需費用最小。

第一行輸入 n m r(關係數)

接下來r行

每行輸入f t c 代表第f號男與第t號女的親密度為c

輸出最小費用

5 5 8

4 3 6831

1 3 4583

0 0 6592

0 1 3063

3 3 4975

1 3 2049

4 2 2104

2 2 781

使用kruskal演算法演算法即可

#include 

#include

#include

using

namespace

std;

class edge

edge()

};using

namespace

std;

int par[1001];

int rank[1001];

void init(int n)

}int find(int x) else

}void unite(int x, int y) else

if (rank[x] < rank[y]) else

}}bool same(int x, int y)

bool comp(const edge& e1, const edge& e2)

vector

es;int v, e;

int kruskal()

}return res;

}int main()

cout

<< 10000 * v + kruskal() << endl;

return

0; }

每日一題 leetcode 55 跳躍遊戲

跳躍遊戲 難度中等647 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例 1 輸入 2,3,1,1,4 輸出 true 解釋 我們可以先跳 1 步,從位置 0 到達 位置 1,然後再從位置 1 跳 3 步到達最...

每日一題 leetcode 55 跳躍遊戲

跳躍遊戲 難度中等647 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例 1 輸入 2,3,1,1,4 輸出 true 解釋 我們可以先跳 1 步,從位置 0 到達 位置 1,然後再從位置 1 跳 3 步到達最...

每日一題 1

題目詳情 peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資...