3 条题解
-
4
由于题目中说要找最远且编号小的那个,所以这题需要用排序,筛选出离追踪者最远又是编号最小的传送阵。
#include<iostream> #include<cmath> #include<algorithm> using namespace std; float _long(int x,int y,int x1,int y1){ return sqrt(pow(fabs(x-x1),2)+pow(fabs(y-y1),2)); }//求两点之间的距离 struct jtm{ int num; int x,y; }; struct mx{ int name,x,y; float ma; }; bool jntm(mx x,mx y){ if(x.ma==y.ma){ return x.name<y.name; } return x.ma>y.ma; }//排序 int main(){ int n,k,j,ans=0; cin>>n>>k>>j; jtm man[k],po[j]; jtm door[n]; for(int t=0;t<n;t++){ cin>>door[t].x>>door[t].y; door[t].num=t; } for(int t=0;t<k;t++){ cin>>man[t].x>>man[t].y; man[t].num=t; } for(int t=0;t<j;t++){ cin>>po[t].x>>po[t].y; } mx na[n]; for(int t=0;t<j;t++){ for(int i=0;i<n;i++){ na[i].ma=_long(door[i].x,door[i].y,po[t].x,po[t].y); na[i].name=i; na[i].x=door[i].x; na[i].y=door[i].y; }//记录距离、编号和坐标 sort(na,na+n,jntm); for(int i=0;i<k;i++){ if(na[0].x==man[i].x&&na[0].y==man[i].y){ ans++; break; } } } cout<<ans; return 0; }
-
1
#include<bits/stdc++.h> using namespace std;
struct node{ int x,y; bool flag; }a[1005];
double f(int x,int y,int z,int w){ return sqrt(((x-z)(x-z)+(y-w)(y-w))*1.0); } int n,k,t,res; int main(){ cin>>n>>k>>t; for(int i=1;i<=n;i++) cin>>a[i].x>>a[i].y; for(int i=1;i<=k;i++) { int x,y; cin>>x>>y; for(int j=1;j<=n;j++) if(a[j].xx && a[j].yy) { a[j].flag=true; break; } } for(int i=1;i<=t;i++) { int x,y,ans; double maxl=-1; cin>>x>>y; for(int j=1;j<=n;j++) if(f(x,y,a[j].x,a[j].y)>maxl) ans=j,maxl=f(x,y,a[j].x,a[j].y); if(a[ans].flag) res++; } cout<<res; return 0; }
-
0
#include<bits/stdc++.h> using namespace std; struct node{ int x,y; bool flag; }a[1005]; double f(int x,int y,int z,int w){ return sqrt(((x-z)*(x-z)+(y-w)*(y-w))\*1.0); } int n,k,t,res; int main(){ cin>>n>>k>>t; for(int i=1;i<=n;i++) cin>>a[i].x>>a[i].y; for(int i=1;i<=k;i++) { int x,y; cin>>x>>y; for(int j=1;j<=n;j++) if(a[j].x==x && a[j].y==y) { a[j].flag=true; break; } } for(int i=1;i<=t;i++) { int x,y,ans; double maxl=-1; cin>>x>>y; for(int j=1;j<=n;j++) if(f(x,y,a[j].x,a[j].y)>maxl) ans=j,maxl=f(x,y,a[j].x,a[j].y); if(a[ans].flag) res++; } cout<<res; return 0; }
- 1
信息
- ID
- 191
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 51
- 已通过
- 13
- 上传者