Link đề gốc:
http://vnoi.info/problems/show/COND/
Đề bài:
Xét một tập N đối tượng có thể so sánh được (2<=n<=10). Giữa 2 đối tượng a và b có thể tồn tại 1 trong 3 quan hệ phân loại:
a = b; a < b; a > b;
Như vậy, với 3 đối tượng (a, b, c) có thể tồn tại 13 quan hệ phân loại như sau:
a = b = c; a = b < c; c < a = b; a < b = cb = c < a; a = c < b; b < a = c; a < b < ca < c < b; b < a < c; b < c < a; c < a < bc < b < a;
Cho số n, hãy xác định số lượng quan hệ phân loại khác nhau.
Input
Gồm nhiều số n. Mỗi số trên 1 dòng. Kết thúc file là -1.
Output
Với mỗi n, đưa ra số lượng quan hệ phân loại tìm được, mỗi số trên 1 dòng (không có dòng trống).
Ví dụ
Input:
2
3
-1
Output:
3
13
Solution:
Tham khảo tại: http://dataurbia.com/GBa
Code:
Tham khảo tại: http://dataurbia.com/G5t
(Code đã được nộp và AC trên SPOJ, sử dụng bộ dịch của C++11)