Solutions of Solution - MarisaOJ: Marisa Online Judge

Solutions of Solution

Select solution language

Write solution here.


User Avatar angwangsushi    Created at    2 likes

# **Lưu ý: Hãy tự nghĩ cách giải, chỉ xem sol khi bí** ## **Ý TƯỞNG**: Đề yêu câu đếm số lượng bộ số nguyên dương $ x_1 < x_2 < x_3 < x_4 $ sao cho $ x_1 + x_2 + x_3 + x_4 = n $ $\Rightarrow x_4 = n - x_1 - x_2 - x_3 $ Vậy ta chỉ cần chạy 3 vòng lặp **lồng nhau**, kiểm tra xem nếu $ x_4 > x_3 $ thì cộng vào biến đếm 1 đơn vị. *** ## **Độ phức tạp thuật toán :** Với cách làm trên độ phức tạp thời gian là : $O(n^3)$ *** ## **Code tham khảo :** ```cpp #include <bits/stdc++.h> #define ll long long using namespace std; // THPT Trần Phú Tp.HCM int main(){ int n; cin >> n; int count = 0; for(int x1 = 1; x1<=n;x1++){ for(int x2=x1+1;x2<=n;x2++){ for(int x3=x2+1;x3<=n;x3++){ int x4 = n-x3-x2-x1; if(x4>x3){ count++; } } } } cout << count; return 0; } ```