Tam giác không cân

View as PDF

Points: 100 (p) Time limit: 1.0s Memory limit: 1023M Input: stdin Output: stdout

Để tham gia câu lạc bộ Origami của trường, Huy phải:

"Viết chương trình kiểm tra xem 3 số nguyên dương nhập vào có thể là 3 cạnh của một tam giác KHÔNG cân hay không."

Vì laptop của Huy đã bị hỏng, bạn hãy giúp Huy giải bài tập trên. Biết rằng tam giác đều là tam giác cân.

Input

  • Một dòng duy nhất gồm 3 số nguyên dương \(a,b,c \left(a,b,c\leq 10^{18}\right)\)

Các số trên một dòng của input file được ghi cách nhau bởi dấu cách

Output

  • Ghi ra "YES" nếu 3 số nguyên dương là 3 cạnh của của một tam giác KHÔNG cân, ngược lại in ra "NO"

Example

Test 1

Input
3 4 5 
Output
YES
Note

Comments


  • 0
    blinh    9:26 a.m. 6 feb, 2024 edit 5

    đã hiểu


    • 1
      ldvl2511    12:10 p.m. 6 apr, 2023 edited

      Mình không hiểu trường hợp 7444444 33333342433 444422222 thì cân kiểu gì nhỉ?
      update: đã hiểu ;(


      • 3
        mcsmuscle    12:06 a.m. 27 oct, 2021 edited

        (7444444 33333342433 444422222 trường hợp này thì tạo tam giác cân kiểu gì nhỉ ??)
        update: Đã hiểu !

        1 reply

        • 2
          iamanoob12    9:05 p.m. 18 oct, 2020

          SPOILER ALLERT:

          Bài 7 ngoài điều kiện đề ra ta cần phải xét bất tam giác
          Bất tam giác của lớp 7:

          tổng 2 cạnh trong 1 tam giác luôn lớn hơn cạnh còn lại
          tức là (a + c)>b với a,b,c là các cạnh của 1 tam giác

          source code:

          include <iostream>

          using namespace std;

          int main()
          {
          long long a, b, c;
          cin >> a >> b >> c;

          if (a == b || a == c || b == c || a + b <= c || a + c <= b || b + c <= a)
              {
                  cout << "NO";
              }
          else
          {
              cout << "YES";
          }
          

          }


          • 5
            SPyofgame    1:45 p.m. 9 jun, 2020 edit 7

            Spoiler Alert


            Hint 1

            Tìm điều kiện tam giác và loại bỏ điều kiện để nó cân, từ đó suy ra kết quả


            Hint 2

            Điều kiện độ dài các cạnh: (a > 0) && (b > 0) && (c > 0)

            Điều kiện để tạo tam giác: (a + b > c) && (b + c > a) && (c + a > b)

            Điều kiện để tam giác cân: (a == b) || (b == c) || (c == a)


            Hint 3

            Điều kiện tam giác không cân: ((a > 0) && (b > 0) && (c > 0)) && ((a + b > c) && (b + c > a) && (c + a > b)) && !((a == b) || (b == c) || (c == a))


            Reference AC code | \(O(1)\) time | \(O(1)\) auxiliary space | Math

            C++
            int main()
            {
                ll a, b, c;
                cin >> a >> b >> c;
                bool ok1 = (a > 0) && (b > 0) && (c > 0);
                bool ok2 = (a + b > c) && (b + c > a) && (c + a > b);
                bool ok3 = (a == b) || (b == c) || (c == a);
                cout << ((ok1 && ok2 && !ok3) ? "YES" : "NO");
                return 0;
            }
            

            Hint 4

            Bạn cũng có thể sắp xếp các cạnh để có công thức toán học gọn hơn


            Reference AC code | \(O(1)\) time | \(O(1)\) auxiliary space | Math

            C++
            ll max(ll a, ll b)       { return a > b ? a : b; }
            ll min(ll a, ll b)       { return a < b ? a : b; }
            ll med(ll a, ll b, ll c) { return max(min(a, b), min(c, max(a, b))); }
            int main()
            {
                ll a, b, c;
                cin >> a >> b >> c;
                tie(a , b , c) = make_tuple(  max(a, max(b, c))  ,  med(a, b, c)  ,  min(a, min(b, c))  );
                cout << ((a > b && b > c && c > 0 && b + c > a) ? "YES" : "NO");
                return 0;
            }
            

            Reference AC code | \(O(1)\) time | \(O(1)\) auxiliary space | Math

            C++
            int main()
            {
                ll a, b, c;
                cin >> a >> b >> c;
                if (a < b) swap(a, b); if (a < c) swap(a, c); if (b < c) swap(b, c); /// sort 3 so
                cout << ((a > b && b > c && c > 0 && b + c > a) ? "YES" : "NO");
                return 0;
            }
            
            1 reply