足球射门

题目来源:http://116.56.140.75:8000/JudgeOnline/problem.php?id=1715

1715: 足球射门

时间限制: 1 Sec 内存限制: 64 MB

题目描述

足球是很多人热爱的体育项目,足球最精彩的瞬间莫过于射门了,不过不要老坐在电视机前看足球,应该自己亲身参与体育锻炼,相信你会身体越来越强健,精神越来越爽朗,生活越来越美好。 假设球门的顶横杆和两侧的侧柱分别平行于球门平面坐标系的x轴和y轴,现在给定球门的左上角和右下角在球门平面的坐标。那么这个球门的位置就唯一确定了。如果已知某次射门的球飞到球门所在平面坐标系中的坐标,那么我们就能判定球是射中了还是打在球柱上还是射偏了。 有人会觉得奇怪,球的y坐标怎么会小于球门底边的y坐标。可以这样理解:球本来会落到球门的下面去,但是被球场平面所阻挡,这种情形被认为没有射进球门是合理的。 须特别说明的是,本题中的球门不存在底边的横杆,所以射到这个位置的球被认为是射中了。

输入

第一行包含4个整数,分别表示球门的左上角和右下角x,y坐标。第二行包含一个整数n(1≤n≤100),表示测试用例额个数。其后的n行,每行包含一个坐标,表示射来的球在球门平面上的坐标。

输出

对每个射门的球输出一行,如果射中了,输出goal!,如果射在球门的顶杆或侧柱上输出bar!,其余的球则输出fail!。

样例输入

0 3 4 0
5
1 1
0 0
2 0
4 0
-5 -6

样例输出

goal!
bar!
goal!
bar!
fail!

解析:注意一下逻辑关系就可以了,即判断条件

代码:

#include<iostream> 
using namespace std; 
int main() 
{ 
    int x1, y1, x2, y2; 
    cin >> x1 >> y1 >> x2 >> y2; 
    int t; 
    cin >> t; 
    while (t--) 
    { 
        int x, y; 
        cin >> x >> y; 
        if (x == x1 || y == y1 || x == x2) 
            cout << "bar!" << endl; 
        else
        { 
            if ((x > x1&&x < x2) && (y >= y2&&y < y1)) 
                cout << "goal!" << endl; 
            else
                cout << "fail!" << endl; 
        } 
    } 
} 
/************************************************************** 
    Problem: 1715 
    User: 201730685257 
    Language: C++ 
    Result: 正确 
    Time:0 ms 
    Memory:1484 kb 
****************************************************************/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值