Когда есть только один раунд, победитель этого единственного раунда является общим победителем игры.
Алгоритм:
A, Алиса выигрывает игруB, Боб выигрывает игруВременная сложность:
Пространственная сложность:
Для общего случая нам нужно подсчитать, сколько раундов выиграл каждый игрок, и определить, кто имеет больше побед.
Ключевое наблюдение:
Поскольку всегда нечетное, не может быть ничьей. Следовательно, один игрок всегда будет иметь строго больше побед, чем другой.
Алгоритм:
A, чтобы получить B, чтобы получить (в качестве альтернативы, )Временная сложность: — для подсчета символов в строке
Пространственная сложность: — для хранения входной строки (или , если мы считаем во время чтения)
#include <iostream>
#include <string>
using namespace std;
int main() {
int N;
string rounds;
cin >> N >> rounds;
int alice_wins = 0;
int bob_wins = 0;
for (char ch : rounds) {
if (ch == 'A') {
alice_wins++;
} else {
bob_wins++;
}
}
if (alice_wins > bob_wins) {
cout << "Alice" << endl;
} else {
cout << "Bob" << endl;
}
return 0;
}