zoukankan      html  css  js  c++  java
  • [解题报告]11498 Division of Nlogonia

    题目大意

    题目原文:http://uva.onlinejudge.org/external/114/11498.pdf

    背景

    在xy平面上选择一点当作分割点,以此点为中心画出一条水平线与一条垂直线,可分割成四个域区,如下图所示:
     

     
     
     
    给定任意点,请你判断该点在哪个区域内,或是在区域的交界上.

    输入

    输入有多组测试数据,每组数据的第一列为整数 K ( 0 < K <= 1000)表示欲查询位置的点数,第二列有两个整数 N, M ( -10000 < N, M < 10000)表示分割点的坐标,接下来的K列每列有两个整数X, Y表示欲查询位置的点坐标。当K=0表示测试数据结束

    输出

    请分别就坐标的位置输出该点在哪个区域,或是在边上。
    若在边上,请输出 divisa。
    若在左上方的区域,请输出 NO。
    若在右上方的区域,请输出 NE。
    若在右下方的区域,请输出 SE。
    若在左下方的区域,请输出 SO

     

    Sample Input

     

    3
    2 1
    10 10
    -10 1
    0 33
    4
    -1000 -1000
    -1000 -1000
    0 0
    -2000 -10000
    -999 -1001
    0
    

     

    Sample Output

     

    NE
    divisa
    NO
    divisa
    NE
    SO
    SE
    

     

    
    

    算法:

    很简单的一个算法,很容易理解,见代码吧。

    代码:

    这里附上我的代码,你可以去这里提交你的代码验证你的代码是否正确。

    #include<stdio.h>
    int main(void)
    {
        int k,n,m,x,y;
        while(scanf("%d",&k)!=EOF)
        {
            if(k==0)break;
            scanf("%d %d",&n,&m);
            while(k--)
            {
                scanf("%d %d",&x,&y);
                if(x==n||y==m)
                printf("divisa\n");
                else if(x > n&&y > m)
                printf("NE\n");
                else if(x > n&&y < m)
                printf("SE\n");
                else if(x < n&&y > m)
                printf("NO\n");
                else if(x < n&&y < m)
                printf("SO\n");
            }
    
        }
        return 0;
    }
  • 相关阅读:
    周末现场支持
    变量&字符串
    dead loop、continue & break、while...else语句
    运算符、流程控制、while循环
    二进制、字符编码、浮点数、列表
    字符串操作
    元祖、hash了解、字典、集合
    大数据处理
    含有虚函数的派生类的sizeof
    eclipse UML插件 安装和使用
  • 原文地址:https://www.cnblogs.com/qisong178878915/p/2921241.html
Copyright © 2011-2022 走看看