Kiểm tra xem có hai điểm trùng nhau không


Submit solution

Points: 1 (partial)
Time limit: 1.0s
Memory limit: 98M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Cho n điểm trên mặt phẳng nguyên \( A_1(x_1,y_1),A_2(x_2,y_2), ... A_n(x_n,y_n) \). Bạn hãy lập trình kiểm tra xem trong n điểm này có tồn tại một cặp điểm nào trùng nhau không?

Input

Dòng đầu chứa số điểm \(n\) \((1\le n \le 10^6)\) \(n\) dòng tiếp theo mỗi dòng chứa hai số nguyên có giá trị tuyệt đối không vượt quá \(10^9\) tương ứng với tọa độ của \(n\) điểm

Output

Nếu trong dãy điểm có ít nhất hai điểm trùng nhau thì xuất ra YES ngược lại xuất ra NO

Ví dụ 1:

Input

4
1 2
-3 4
1 2
3 5

Output

YES

Ví dụ 2:

Input

4
1 2
-3 4
1 -2
3 5

Output

NO
tichpx

Comments


  • 1
    NguyenDongThinh_CNTT4_K61  commented on Feb. 11, 2022, 4:26 p.m.

    //code em không được hay nên chỉ mang tính chất thêm cách làm

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        long n; 
        cin>>n;
        pair<int,int> pa[n+2]; 
        for(int i=0;i<n;i++)
            cin>>pa[i].first>>pa[i].second;
        sort(pa,pa+n);
    //  for(int i=0;i<n;i++)
    //      cout<<pa[i].first<<" "<<pa[i].second<<endl;
        int check=0;
        for(int i=0;i<n-1;i++)
            if(pa[i].first==pa[i+1].first&&pa[i].second==pa[i+1].second)
            {
                check=1;
                break;
            }
        if(check==1)
            cout<<"YES";
        else
            cout<<"NO";
    }

    • 1
      LãoTam  commented on Feb. 15, 2022, 12:38 p.m.

      <Tham khảo ^_^>

      #include<bits/stdc++.h>
      using namespace std;
      
      
      int main() {
          map<pair<int,int>,int> mp;
          pair<int,int> p;
          int n;
          cin>>n;
          for(int i=0;i<n;i++){
              cin>>p.first>>p.second;
              if(mp[p]!=0){
                  cout<<"YES";
                  return 0;
              }
                  else mp[p]=10;
              }
          cout<<"NO";
      }

  • 0
    Phuc_CNTT3_K60  commented on May 15, 2020, 2:19 a.m.

    Ad ơi sao không cập nhật thêm ngôn ngữ cho bài này ạ =((


    • 1
      TICHPX  commented on May 15, 2020, 2:42 a.m.

      Ok đã cập nhật