1333 地鼠的困境 最大匹配

2021-08-13 21:19:04 字數 2179 閱讀 1599

description

地鼠家族面臨著乙個新的威脅——獵食者。

地鼠家族一共有n個地鼠和m個鼠洞,每個都位於不同的(x, y)座標中。假如有地鼠在發覺危險以後s秒內都沒有回到鼠洞裡的話,就可能成為老鷹的食物。當然了,乙個鼠洞只能拯救乙隻地鼠的命運,所有地鼠都以相等的速度v移動。地鼠家族需要設計一種策略,使得老鷹來時,易受攻擊的地鼠數量最少。

input

本題有多組資料。第1行為測試資料組數t(t<=50)。

對於每組資料,第一行4個整數n, m, s和v(n, m <= 100)。以後n行為地鼠的座標,以後m行為鼠洞的座標。距離的單位是m,時間的單位是s,速度的單位是m/s。

output

對於每組資料輸出一行,為易受攻擊的地鼠的數量。

sample input

12 2 5 10

1.0 1.0

2.0 2.0

100.0 100.0

20.0 20.0

sample output

二分圖最大匹配,具體做法:

把每個地鼠和它能及時逃進的地洞連邊,求最大匹配。

注意最終答案求有多少只危險的地鼠,所以答案是n-ans,而且有多組資料,注意陣列和變數的清零(我就是提交了n遍才發現忘了清零的~)。

記得double要用%lf(%llf?)讀入

var

t,n,m,s,v,i,j,k,l,ans:longint;

q:string;

x,y,b,c:array[1..101]of real;

a:array[1..101,1..101]of boolean;

cover:array[1..101]of boolean;

link:array[1..101]of longint;

function find(i:longint):boolean;

var q,k:longint;

begin

find:=true;q:=0;

for k:=1 to m do

if a[i,k] and cover[k] then

begin

q:=link[k];link[k]:=i;cover[k]:=false;

if (q=0)or find(q) then exit;

link[k]:=q;

end;

exit(false);

end;

begin

readln(t);

for l:=1 to t do

begin

fillchar(a,sizeof(a),false);

readln(n,m,s,v);

for i:=1 to n do

readln(x[i],y[i]);

ans:=0;

for i:=1 to m do

readln(b[i],c[i]);

for i:=1 to n do

for j:=1 to m do

if sqrt(sqr(x[i]-b[j])+sqr(y[i]-c[j]))<=s*v then a[i,j]:=true;

fillchar(link,sizeof(link),0);

for i:=1 to n do

begin

fillchar(cover,sizeof(cover),true);

if find(i) then inc(ans);

end;

writeln(n-ans);

end;

end.

那麼再來乙個c++的?

#include #include #include #include using namespace std;

int t,n,m,s,v,cnt;

int ls[105],ne[10005],y[10005],link[105];

bool cover[105];

struct nodemice[105],hole[105];

bool dfs(int k)

return 0;

}int main()

}} int ans=n;

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

printf("%d\n",ans);

}}

SSL1333 地鼠的困境

地鼠家族面臨著乙個新的威脅 獵食者。地鼠家族一共有n個地鼠和m個鼠洞,每個都位於不同的 x,y 座標中。假如有地鼠在發覺危險以後s秒內都沒有回到鼠洞裡的話,就可能成為老鷹的食物。當然了,乙個鼠洞只能拯救乙隻地鼠的命運,所有地鼠都以相等的速度v移動。地鼠家族需要設計一種策略,使得老鷹來時,易受攻擊的地...

1052 地鼠遊戲

題目描述 description 王鋼是一名學習成績優異的學生,在平時的學習中,他總能利用一切時間認真高效地學習,他不但學習刻苦,而且善於經常總結 完善自己的學習方法,所以他總能在每次考試中得到優異的分數,這一切很大程度上是由於他是乙個追求效率的人。地鼠遊戲是一項需要反應速度和敏捷判斷力的遊戲。遊戲...

1052 地鼠遊戲

時間限制 1 s 空間限制 128000 kb 題目等級 鑽石 diamond 題解檢視執行結果 王鋼是一名學習成績優異的學生,在平時的學習中,他總能利用一切時間認真高效地學習,他不但學習刻苦,而且善於經常總結 完善自己的學習方法,所以他總能在每次考試中得到優異的分數,這一切很大程度上是由於他是乙個...