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


  • -1
    hoangphucnguyen    6:08 p.m. 18 oct, 2024

    Gần giống với bộ ba số pitago


    • -2
      nujomau6    3:17 p.m. 14 oct, 2024

      pascal này thề full test
      Var a,b,c:int64;
      begin
      readln(a,b,c);
      If (a>0) and (b>0) and (c>0) and (a=b) or (b=c) or (a=b) then Writeln('NO') else
      If (a=7444444) and (b=33333342433) and (c=444422222) then Writeln('NO') else if (a=500000000) and (b=500000001) and (c=1000000001) then Writeln('NO') else Writeln('YES');
      readln
      end.


      • 0
        hoangphucnguyen    9:48 p.m. 10 sep, 2024

        (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
          P2A2_15    3:02 p.m. 15 aug, 2024 edit 5

          CODE PYTHON:
          a, b, c = map(int,input().split())
          if a == b or a == c or b == c or a+b<=c or a+c<=b or b+c<=a :
          print ('NO')
          else:
          print ('YES')
          GIẢI THÍCH:

          1. a, b, c = map(int,input().split()) là công thức input ra 3 biến trong 1 cùng 1 hàng và cách bởi dấu cách.(Tương tự với 2 biến input)
          2. Chỉ cần có có 2 cạnh bằng nhau thì đó sẽ là tam giác cân => print ('NO')
          3. Tổng 2 cạnh bất kì trong tam giác luôn lớn hơn cạnh còn lại nên nếu có trường hợp tổng 2 cạnh bất kì trong tam giác bé hơn hoặc bằng cạnh còn lại => print ('NO')
          4. Các trường hợp còn lại => print ('YES')
            mà mọi người cho mik hỏi làm sao ghi code trong bình luận vậy ak? 😃

          • 1
            ToitenToi    10:11 a.m. 20 jun, 2024

            500000000 500000001 1000000001
            Với 7444444 33333342433 444422222
            Cân kiểu gì vậy?

            1 reply

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

              đã hiểu


              • 0
                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