Hướng dẫn giải của TIN10_IF09: Đôi giày
Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Hướng dẫn giải
Ronaldo có n chiếc giày đỏ và m chiếc giày xanh. Mỗi trận anh đi một chiếc đỏ và một chiếc xanh. Hãy tìm số trận anh đi được mỗi bên một màu, và số ngày tiếp theo anh đi được 2 bên cùng màu.
Cách làm
Mỗi trận cần đúng 1 chiếc đỏ và 1 chiếc xanh nên số trận đầu tiên là số nhỏ hơn trong hai số n, m.
Sau các trận đó, số giày còn lại thuộc màu nhiều hơn có hiệu là max - min chiếc. Cứ 2 chiếc cùng màu thì được 1 lần đi 2 bên cùng màu, nên số lần là (max - min) chia 2 (lấy phần nguyên).
#include <bits/stdc++.h>
using namespace std;
int main() {
// n là số giày đỏ, m là số giày xanh (có thể lên tới 10^9)
long long n, m;
cin >> n >> m;
// Mỗi trận cần 1 chiếc đỏ và 1 chiếc xanh, nên số trận là số nhỏ hơn
long long nho = min(n, m);
long long lon = max(n, m);
// Số giày còn lại của màu nhiều hơn, cứ 2 chiếc cùng màu thì đi được 1 trận
long long conLai = lon - nho;
cout << nho << " " << conLai / 2 << "\n";
return 0;
}
Bình luận