记录编号 40539 评测结果 AAAAAAAAAA
题目名称 [暑假培训2012] 打乒乓球 最终得分 100
用户昵称 Gravatarcstdio 是否通过 通过
代码语言 C++ 运行时间 0.005 s
提交时间 2012-07-18 11:48:59 内存使用 0.31 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
struct cycle{
    int x;
    int y;
    int r;
};
struct cycle big,mid,sma;//big,middle,small
bool belong(int x,int y,struct cycle s){
    int xdec,ydec;
    xdec=x-s.x;
    ydec=y-s.y;
    if(xdec*xdec+ydec*ydec<s.r*s.r) return 1;//打边上不给分
    return 0;
}
int grade(int x,int y){
    if(belong(x,y,sma)) return 3;
    if(belong(x,y,mid)) return 2;
    if(belong(x,y,big)) return 1;
    return 0;//没分
}
int main(){
    freopen("table2.in","r",stdin);
    freopen("table2.out","w",stdout);
    int t,n;
    big.x=30,big.y=30,big.r=20;
    mid.x=100,mid.y=30,mid.r=10;
    sma.x=170,sma.y=30,sma.r=5;
    scanf("%d",&t);
    int i,j;
    int xpos,ypos;
    long sum;
    for(i=1;i<=t;i++){
        sum=0;
        scanf("%d",&n);//每次击球次数
        for(j=1;j<=n;j++){
            scanf("%d%d",&xpos,&ypos);//都是整数
            sum+=grade(xpos,ypos);
        }
        printf("%d\n",sum);
    }
    return 0;
}