Solutions of Triangle classification - MarisaOJ: Marisa Online Judge

Solutions of Triangle classification

Select solution language

Write solution here.


User Avatar angwangsushi    Created at    0 likes

***Lưu ý: Hãy tự nghĩ cách giải trước khi xem lời giải*** **Ý TƯỞNG:** Tam giác vuông khi : *a² + b² = c² hoặc b² + c² = a² hoặc a² + c² = b²*\ Tam giác tù khi : *a² + b² < c² hoặc b² + c² < a² hoặc a² + c² < b² \ Tam giác nhọn khi : a² + b² > c² **và** b² + c² > a² **và** a² + c² > b²* **GIỜ CHỈ CÒN CẦN TÍNH 3 CẠNH CỦA TAM GIÁC**\ Bằng cách sử dụng công thức tính độ dài vector của chương trình toán lớp 10. AB = √[(xB - xA)² + (yB - yA)²] Từ đó, chỉ cần tạo ra 2 trong 3 hàm để kiểm tra tam giác và 1 hàm tính độ dài. **CODE THAM KHẢO* :* ``` #include <bits/stdc++.h> #define ll long long #define endl "\n" const ll MAXN = 1e6 + 10; using namespace std; bool right(ll a,ll b,ll c){ return(a + b == c || c + a == b || c + b == a); } bool acute(ll a,ll b,ll c){ return(a + b > c && c + a > b && c + b > a); } ll dodai(ll x1, ll y1, ll x2, ll y2){ ll x1x2 = x2 - x1; ll y1y2 = y2 - y1; ll res= (x1x2*x1x2) + (y1y2 * y1y2); // kết quả là bình phương return res; // nên hàm xét tam giác không cần bình phương nữa } int main() { // freopen("CAU1.inp", "r", stdin); // freopen("CAU1.out", "w", stdout); ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); ll xA, yA, xB, yB, xC,yC; cin >> xA >> yA >> xB >> yB >> xC >> yC; ll AB = dodai(xA, yA, xB, yB); ll AC = dodai(xA, yA, xC, yC); ll BC = dodai(xB, yB, xC, yC); if(right(AB,AC,BC)){ cout << "RIGHT"; } else if(acute(AB,AC,BC)){ cout << "ACUTE"; } else{ cout << "OBTUSE"; } return 0; }