码迷,mamicode.com
首页 > 其他好文 > 详细

lg2313 [HNOI2005]汤姆的游戏

时间:2018-03-07 00:59:54      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:gpo   struct   lib   就是   noi   printf   blog   ref   scan   

Problem

原题

Source

这道题目我感觉很简单啊,不是一道省选题的难度(为什么暴力可以过?)
然后我就觉得很GG的是我忘记了.........

#define int double

然后就会光荣的36分
正解的思路就是按照他给出的条件一一枚举,最后就可以了...

Code

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<iostream>
using namespace std;
#define ll long long
double dis(double a,double b,double c,double d){
    return sqrt((c-a)*(c-a)+(d-b)*(d-b));
}
const int maxm=510;
int tot1,tot2;
struct node1{
    double x1,x2,y1,y2;
}ra[maxm];
struct node2{
    double x,y,r;
}c[maxm];
int main(){
    int i,j,k,n,m;
    scanf("%d%d",&n,&m);
    for(i=1;i<=n;i++){
        char s;
        cin>>s;
        if(s=='r')
        {
            ++tot1;
            scanf("%lf%lf%lf%lf",&ra[tot1].x1,&ra[tot1].y1,&ra[tot1].x2,&ra[tot1].y2);
        }
        else
        {
            ++tot2;
            scanf("%lf%lf%lf",&c[tot2].x,&c[tot2].y,&c[tot2].r);
        }
    }
    for(i=1;i<=m;i++){
        double x,y;int ans=0;
        scanf("%lf%lf",&x,&y);
        for(j=1;j<=tot1;j++)
            if(x<ra[j].x2 && x>ra[j].x1 && y>ra[j].y1 && y<ra[j].y2)ans++;
        for(j=1;j<=tot2;j++)
            if(dis(c[j].x,c[j].y,x,y)<c[j].r)ans++;
        printf("%d\n",ans);
    }
    return 0;
}

lg2313 [HNOI2005]汤姆的游戏

标签:gpo   struct   lib   就是   noi   printf   blog   ref   scan   

原文地址:https://www.cnblogs.com/cj-gjh/p/8519750.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!