Cho 3 hóa trị a, b, c. Kiểm tra có thể tạo phân tử không (liên kết đa重复). Điều kiện không tạo được:
- Tổng a+b+c là lẻ (mỗi liên kết giảm 2 hóa trị).
- Hai hóa trị nhỏ hơn cộng lại < hóa trị lớn nhất (thừa liên kết).
Ví dụ: 2, 4, 2 → YES (liên kết: 1-2, 1-2, 2-3, 2-3).
Ví dụ
#include <iostream>
using namespace std;
bool canMakeMolecule(int a, int b, int c) {
if ((a + b + c) % 2 != 0 || a + b < c)
return false;
return true;
}
int main() {
int a = 2, b = 4, c = 2;
if (canMakeMolecule(a, b, c))
cout << "They can form Molecule";
else
cout << "They can not form Molecule";
}
Kết quả
They can form Molecule