SSL 1637——苹果

Description

  农场的夏季是收获的好季节。在Farmer John的农场,他们用一种特别的方式来收苹果:Bessie摇苹果树,苹果落下,然后Farmer John尽力接到尽可能多的苹果。
  作为一个有经验的农夫, Farmer John将这个过程坐标化。他清楚地知道什么时候(1<=t<=1,000,000)什么位置(用二维坐标表示,-1000<=x,y<=1000)会有苹果落下。他只有提前到达那个位置,才能接到那个位置掉下的苹果。
  一个单位时间,Farmer John能走s(1<=s<=1000)个单位。假设他开始时(t=0)站在(0,0)点,他最多能接到多少个苹果?

Input

第一行:两个整数,N(苹果个数,n<=5000)和S(速度);
第2..N+1行:每行三个整数Xi,Yi,Ti,表示每个苹果掉下的位置和落下的时间。

Output

仅一行,一个数,表示最多能接到几个苹果

Sample Input

5 3
0 0 1
0 3 2
-5 12 6
-1 0 3
-1 1 2
Sample Output

3 (Farmer John可以接到第1,5,4个苹果)


思路
先将苹果下落的时间从小到大排序
然后用dis(i,j)表示两点之间的距离为sqrt(sqr(x1-x2)+sqr(y1-y2))
如果从第i个苹果到第j个苹果所用的时间小于他的速度*(第i个苹果下落的时间-第j个苹果下落的时间),就f[i]:=max(f[i],f[j]+1)


代码如下:

const maxapp=5000;
type as=record
     x,y,time:longint;
end;

var f:array [0..maxapp] of longint;
    app:array[0..maxapp] of as;
    n,s:longint;
    i,j,ans:longint;
    m:real;

procedure init;
var i,j,k:longint;
begin
   readln(n,s);
   for i:=1 to n do
     readln(app[i].x,app[i].y,app[i].time);
   app[0].x:=0; app[0].y:=0; app[0].time:=0;
end;

procedure qsort(l,r: longint);
var i,j,x: longint;
    tmp:as;
begin
     i:=l;
     j:=r;
     x:=app[(l+r) div 2].time;
     repeat
           while app[i].time<x do inc(i);
           while x<app[j].time do dec(j);
           if not(i>j) then
             begin
                tmp:=app[i];
                app[i]:=app[j];
                app[j]:=tmp;
                inc(i);
                j:=j-1;
             end;
     until i>j;
     if l<j then qsort(l,j);
     if i<r then qsort(i,r);
end;

function dis(i,j:longint):real;
begin
  dis:=sqrt(sqr(app[i].x-app[j].x)+sqr(app[i].y-app[j].y));
end;

begin
    init;
    qsort(1,n);
    f[0]:=0;
    ans:=0;
    for i:=1 to n do
     begin
       f[i]:=0;
       for j:=0 to i-1 do
        if (j=0)or((j<>0)and(f[j]<>0)) then
           begin
             m:=dis(i,j);
             if ( m<=s*(app[i].time-app[j].time) )and( f[j]+1>f[i] )
                then f[i]:=f[j]+1;
           end;
       if f[i]>ans then ans:=f[i];
     end;
    write(ans);
end.

转载于:https://www.cnblogs.com/Comfortable/p/8412375.html

苹果系统使用Charles连接苹果手机时,点击Allow主要涉及两个关键场景:一是手机端安装证书时电脑出现允许代理提示,二是模拟器下载证书时点击Allow。 ### 手机端安装证书时电脑点击Allow 当手机连接Charles代理后,在手机Safari浏览器地址栏输入 `chls.pro/ssl` 打开网页尝试下载配置文件,此时电脑会出现允许代理的提示,点击Allow即可。若遇到点击Allow无响应或异常情况,可检查Charles软件是否正常运行,网络连接是否稳定,以及手机与电脑是否处于同一局域网内。 ### 模拟器下载证书时点击Allow 在模拟器中进行操作,按一系列步骤设置代理并输入 `chls.pro/ssl` 下载证书时,会出现点击Allow的环节。若点击后出现问题,可检查模拟器的网络设置是否正确,代理的IP和端口是否与Charles中设置一致。 此外,若在使用Charles对iOS应用进行抓包,输入 `chls.pro/ssl` 下载安装证书后,打开APP报错提示服务器证书无效,这是因为未做授信证书开关开启。需进行如下操作:设置——通用——关于本机——证书信任设置——开启对应证书的开关 [^2]。 ```plaintext # 手机端安装证书步骤 1. 手机连接Charles代理 2. 打开手机Safari浏览器 3. 地址栏输入:chls.pro/ssl打开网页弹出尝试下载配置文件,点击允许 4. 电脑出现允许代理的提示,点击Allow # 模拟器下载证书步骤 1. 打开虚拟机设备 2. 去掉window peoxy的勾选项 3. 点击proxy选中proxy Setting 4. 勾选(默认端口是8888) 5. 在help中选中SSL Proxying中的Mobile Device安装 6. 记录IP、端口和下载证书地址 7. 打开模拟器,点击设置 -> 点击WLAN 8. 长按 9. 点击修改网络 10. 勾选高级选项 11. 代理设置成手动 12. 把ip和端口一一对应填写 13. 保存 14. 点击Allow 15. 在模拟器打开浏览器 16. 输入对应的网址:chls.pro/ssl,下载证书 17. 下载完成 18. 给证书重命名 19. 安装 20. 安装完成进行测试 # 解决服务器证书无效问题步骤 设置 -> 通用 -> 关于本机 -> 证书信任设置 -> 开启对应证书的开关 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值