Link Sub: http://www.spoj.com/PTIT/problems/PTIT121L/
Người Gửi: Dương Lee
- Problem:
Cho 3 hình chữ nhật có kích thước tương ứng là: a[i]×b[i] (i=1,2,3). Trong đó a[i],b[i] là các số nguyên dương không quá 10^9. Hỏi 3 hình chữ nhật trên có thể ghép thành một hình vuông không? Nếu ghép được cho biết độ dài cạnh hình vuông đó, ngược lại ghi số 0.Input
Gồm 3 dòng, mỗi dòng ghi 2 số nguyên dương là kích thước của một hình chữ nhật
Output
Một dòng duy nhất là đáp số của bài toán
Example:
Một dòng duy nhất là đáp số của bài toán
Input
1 6
6 2
3 6
Output:
6
Input
1 6
6 2
2 4
Output:
0
- Solution:
- Sắp xếp từng cặp (các phần tử trong cặp tăng dần): rộng dài
- Có hai cách để ghép:
C1: 3 cái chồng lên nhau;
C2: 2 cái chập lại và ghép với 1 cái còn lại tạo thành 3 phần phân biệt.
- C1: thì dễ rồi chỉ cần xét điều kiện sum_Rộng=dài;
- C2: ở code này mình dùng sinh hoán vị 3 để sinh các trường hợp đặt hcn đặt vào các vị trí (các bạn có thể dùng if xét các trường hợp). Lưu ý: phải thay đổi dài rộng lẫn nhau cho mỗi hcn để đảm bảo có tất cả trường hợp được sinh.
Xem hình ảnh để rõ hơn:Input
1 6
6 2
2 4
Output:
0