Hướng dẫn giải của Trò chơi (đề 11 Vĩnh Phúc 2020-2021)
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
Có hai nút A và B, trên nút A ghi số MA và trên nút B ghi số MB. Mỗi lượt bấm một nút, nhận điểm bằng số trên nút đó, rồi số trên nút giảm đi 1. Hỏi sau hai lượt chơi, số điểm lớn nhất có thể nhận được là bao nhiêu.
Cách làm
Có 4 cách bấm hai lần: AA, BB, AB, BA. Bấm AA được MA + (MA - 1), bấm BB được MB + (MB - 1). Bấm AB hoặc BA đều được MA + MB, vì sau lần đầu số trên nút còn lại không đổi. Ta tính cả ba giá trị này rồi lấy giá trị lớn nhất.
#include <bits/stdc++.h>
using namespace std;
int main() {
int ma, mb;
cin >> ma >> mb;
// Có 4 cách bấm 2 lần: AA, BB, AB, BA
// Bấm AA được ma + (ma - 1), bấm BB được mb + (mb - 1)
// Bấm AB hoặc BA được ma + mb
int aa = ma + (ma - 1);
int bb = mb + (mb - 1);
int ab = ma + mb;
int best = max(aa, max(bb, ab));
cout << best << "\n";
return 0;
}
Bình luận