zoukankan      html  css  js  c++  java
  • codeforces29A

    Spit Problem

     CodeForces - 29A 

    In a Berland's zoo there is an enclosure with camels. It is known that camels like to spit. Bob watched these interesting animals for the whole day and registered in his notepad where each animal spitted. Now he wants to know if in the zoo there are two camels, which spitted at each other. Help him to solve this task.

    The trajectory of a camel's spit is an arc, i.e. if the camel in position x spits dmeters right, he can hit only the camel in position x + d, if such a camel exists.

    Input

    The first line contains integer n (1 ≤ n ≤ 100) — the amount of camels in the zoo. Each of the following n lines contains two integers xi and di ( - 104 ≤ xi ≤ 104, 1 ≤ |di| ≤ 2·104) — records in Bob's notepad. xi is a position of the i-th camel, and di is a distance at which the i-th camel spitted. Positive values of dicorrespond to the spits right, negative values correspond to the spits left. No two camels may stand in the same position.

    Output

    If there are two camels, which spitted at each other, output YES. Otherwise, output NO.

    Examples

    Input
    2
    0 1
    1 -1
    Output
    YES
    Input
    3
    0 1
    1 1
    2 -2
    Output
    NO
    Input
    5
    2 -10
    3 10
    0 5
    5 -5
    10 1
    Output
    YES

    sol:并不知道P该怎么做,反正我是C,我有map。。。
    #include <bits/stdc++.h>
    using namespace std;
    typedef int ll;
    inline ll read()
    {
        ll s=0;
        bool f=0;
        char ch=' ';
        while(!isdigit(ch))
        {
            f|=(ch=='-'); ch=getchar();
        }
        while(isdigit(ch))
        {
            s=(s<<3)+(s<<1)+(ch^48); ch=getchar();
        }
        return (f)?(-s):(s);
    }
    #define R(x) x=read()
    inline void write(ll x)
    {
        if(x<0)
        {
            putchar('-'); x=-x;
        }
        if(x<10)
        {
            putchar(x+'0');    return;
        }
        write(x/10);
        putchar((x%10)+'0');
        return;
    }
    #define W(x) write(x),putchar(' ')
    #define Wl(x) write(x),putchar('
    ')
    const int N=105;
    int n,X[N],D[N];
    map<int,bool>Bo;
    map<int,int>Id;
    int main()
    {
        int i;
        R(n);
        for(i=1;i<=n;i++)
        {
            R(X[i]); R(D[i]); Bo[X[i]]=1; Id[X[i]]=i;
        }
        for(i=1;i<=n;i++) if(Bo[X[i]+D[i]])
        {
            int oo=Id[X[i]+D[i]];
            if(Id[X[oo]+D[oo]]==i) return puts("YES"),0;
        }
        puts("NO");
        return 0;
    }
    /*
    Input
    2
    0 1
    1 -1
    Output
    YES
    
    Input
    3
    0 1
    1 1
    2 -2
    Output
    NO
    
    Input
    5
    2 -10
    3 10
    0 5
    5 -5
    10 1
    Output
    YES
    */
    View Code
     
  • 相关阅读:
    sshd服务防止暴力破解
    使用秘钥ssh登录远程服务器
    SSH配置文件详解
    WinForm、wpf、silverlight三者关系
    silverlight 和winform的结合使用
    IIS在W7下使用
    c#多线程
    Silverlight的Socket通信
    wcf和webservice区别
    aspx向silverlight传值
  • 原文地址:https://www.cnblogs.com/gaojunonly1/p/10738408.html
Copyright © 2011-2022 走看看