1 条题解
-
1
#include<bits/stdc++.h> using namespace std; int n,m,ans; struct node{ char op; double a,b,c,d; }a[505];//储存所有的图形 double x,y; double len(double x1,double y1,double x2,double y2){return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));}//求距离 int main() { scanf("%d%d\n",&n,&m); for(int i=1;i<=n;i++){ scanf("%c%lf%lf%lf",&a[i].op,&a[i].a,&a[i].b,&a[i].c); if(a[i].op=='r')scanf("%lf",&a[i].d); scanf("\n"); } for(int i=1;i<=m;i++){ scanf("%lf%lf",&x,&y); ans=0; for(int j=1;j<=n;j++){ if(a[j].op=='r'){ if(min(a[j].a,a[j].c)<x&&x<max(a[j].a,a[j].c)&&min(a[j].b,a[j].d)<y&&y<max(a[j].b,a[j].d))ans++; } else{ if(len(x,y,a[j].a,a[j].b)<a[j].c)ans++; } }//暴力 printf("%d\n",ans); } return 0; }
- 1
信息
- ID
- 1264
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 3
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者