本文主要介绍cf1014(cf18bd),下面一起看看cf1014(cf18bd)相关资讯。
分析:首先,小偷要想避开每一个灯塔,只需要横坐标或纵坐标大于。
想一想每个小偷相对于每个灯塔能移动的最小步数ax和ay,分别在纵坐标或横坐标说出移动的步数。
一套ax和ay只需要我们满足其中一个,就回到了一个模型。
转型成这种模式还是比较难的。
#includebits/stdc。使用命名空间标准;# define low bit(x)x(-x)# define ll long long const int maxn = 2005;const int maxx = 4e 6 5;int n,m,cnt,tot结构节点{int x,y;}a[maxn],b[maxn],res[maxx],ans[maxn];bool cmp(node aa,node bb){if(aa.x!=bb.x)返回aa . xbb . x;返回aa . ybb . y;} int main{ cinnm;for(int i = 1;i = n;i)scanf( % d % d ,一个[我]。x,a[i]。y);for(int i = 1;i = m;i)scanf( % d % d ,b[i]。x,b[i]。y);for(int i = 1;i = n;i){ for(int j = 1;j = m;j ) {int len1=b[j]。x-a[i]。x 1;int len2=b[j]。y-a[i]。y 1;if(len1=0||len2=0)继续;res[ tot]。x = len1res[tot]。y = len2}}sort(res 1,res 1 tot,cmp);int pre =-1;for(int i = tot;i = 1;i - )if(res[i]。ypre){ans[ cnt]。x=res[i]。x;ans[cnt]。y=res[i]。y;pre=res[i]。y;} int sum = 1e9for(int i = 1;i = cnt 1;i )sum=min(sum,ans[i]。x ans[i-1]。y);coutsumendl返回0;}标签:
灯塔纵坐标
了解更多cf1014(cf18bd)相关内容请关注本站点。