• [解题报告]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;
    }
  • 相关阅读:
    gulp编译sass
    Material Design学习
    js爬虫心得
    js爬虫
    angularjs
    sass心得
    矩阵与线性代数学习笔记
    2-SAT学习笔记
    一个有趣的题目【二分答案,2-SAT,线段树优化】
    vijos训练之——星辰大海中闪烁的趣题
  • 原文地址:https://www.cnblogs.com/qisong178878915/p/2921241.html
Copyright © 2020-2023  润新知