SSL1333 地鼠的困境
2017-06-28 21:24
537 查看
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
1 2 2 5 10 1.0 1.0 2.0 2.0 100.0 100.0 20.0 20.0
Sample Output
1
思路
先计算出距离,可以到的连条线,再跑最大匹配就可以了。
var t,n,m,s,e:longint; ls,link,v:array[1..1000] of longint; r:array[1..1000,1..1000] of boolean; function find(p:longint):boolean; var i,q:longint; begin find:=true; for i:=1 to n do if r[p,i] and(v[i]=0) then begin v[i]:=1; q:=link[i]; link[i]:=p; if (q=0) or find(q) then exit; link[i]:=q; end; find:=false; end; procedure xx; var i,ans:longint; begin ans:=0; fillchar(link,sizeof(link),0); for i:=1 to n do begin fillchar(v,sizeof(v),0); if find(i) then inc(ans); end; writeln(n-ans); end; var i,j,k:longint; a,b,c,d:array[1..1000] of real; begin readln(t); for k:=1 to t do begin fillchar(r,sizeof(r),false); readln(n,m,s,e); for i:=1 to n do readln(a[i],b[i]); for i:=1 to m do readln(c[i],d[i]); for i:=1 to n do for j:=1 to m do if sqrt(sqr(a[i]-c[j])+sqr(b[i]-d[j]))<=s*e then r[i,j]:=true; xx; end; end.
相关文章推荐
- (ssl1333)地鼠的困境
- 地鼠的困境 ssl1333(不一定对)
- SSL 1333_地鼠的困境_匹配
- SSL1333 地鼠的困境(最大匹配)
- 地鼠的困境(SSL_1333)
- 地鼠的困境_ssl1333_匹配
- 地鼠的困境SSL1333 最大匹配
- SSL 地鼠的困境
- SSL 地鼠的困境
- 【SSLGZ 1333】地鼠的困境
- 地鼠的困境
- [二分图]地鼠的困境
- 地鼠的困境 最大匹配
- 地鼠的困境
- 部分Android App带有严重的SSL漏洞
- 关于ssl或者tls的问题,还有验证当前是否支持tls某个版本
- FIX: undefined symbol: apr_ldap_ssl_init
- Qt之OpenSSL(有pro文件的路径格式,以及对libeay32和ssleay32的引用)
- 一个SSL 请求结果返回问题
- Java安全通信:HTTPS与SSL