1 条题解
-
0
自动搬运
来自洛谷,原作者为

Grisses
苹果没有色彩,它只是在反射760~622nm波长的光而已,带来色彩的不过是大脑皮层上的电信号罢了~搬运于
2025-08-24 21:36:15,当前版本为作者最后更新于2022-02-08 20:48:57,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
建议加上标签“枚举,暴力”
首先,看看数据范围,500 直接暴力,也就 。
对于一个点 ,我们枚举所有的图形:
-
如果这是一个矩形 ,判断 且 ,成立就表示 在这个矩形中。
-
如果这是一个圆,判断 到圆心的距离是否小于半径即可。
代码:
#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
- 1307
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 3
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者