Условие пытается немного обмануть решающего. На самом деле всегда можно выбрать Рахманов ломтик строки, состоящий из одного символа (действительно, если в искомой подстроке несколько символов, то каждый из них встречается не меньшее число раз, что и сама подстрока). В итоге задача превращается в тривиальную: считать строку и вывести символ, встречающийся максимальное число раз.
Конъюнкция истинна, если верны все конъюнкты. Значит, все импликации должны быть истинны.
Импликация истинна во всех случаях, кроме 1 → 0, поэтому если xk = 1, то и все x с номерами, большими k, единицы. Если записывать решение в виде строчки со значениями переменных от x1 до x5, получается 6 решений: 00000, 00001, 00011, 00111, 01111, 11111.
Аналогично, есть 6 решений для игреков: 11111, 11110, 11100, 11000, 10000, 00000.
x2 ∨ y2 = 1, значит, хотя бы одна из переменных x2, y2 истинна. Подсчитываем число комбинаций.
1) x2 истинна (решение 01111 или 11111). Подходят все 6 решений для игреков, по правилу произведения получаем 2 * 6 = 12 решений.
2) x2 ложна (4 решения). Подходят 4 решения для игреков (все, кроме 10000 и 00000). По правилу произведения 4 * 4 = 16 решений.
Условие пытается немного обмануть решающего. На самом деле всегда можно выбрать Рахманов ломтик строки, состоящий из одного символа (действительно, если в искомой подстроке несколько символов, то каждый из них встречается не меньшее число раз, что и сама подстрока). В итоге задача превращается в тривиальную: считать строку и вывести символ, встречающийся максимальное число раз.
#include <iostream>
int main() {
char c, maxchar;
int count[26] = {0}, maxcount = 0;
while (std::cin.get(c)) {
count[c - 'a']++;
}
for (c = 0; c < 26; c++) {
if (count[c] > maxcount) {
maxcount = count[c];
maxchar = c;
}
}
std::cout << static_cast<char>(maxchar + 'a');
return 0;
}
Конъюнкция истинна, если верны все конъюнкты. Значит, все импликации должны быть истинны.
Импликация истинна во всех случаях, кроме 1 → 0, поэтому если xk = 1, то и все x с номерами, большими k, единицы. Если записывать решение в виде строчки со значениями переменных от x1 до x5, получается 6 решений: 00000, 00001, 00011, 00111, 01111, 11111.
Аналогично, есть 6 решений для игреков: 11111, 11110, 11100, 11000, 10000, 00000.
x2 ∨ y2 = 1, значит, хотя бы одна из переменных x2, y2 истинна. Подсчитываем число комбинаций.
1) x2 истинна (решение 01111 или 11111). Подходят все 6 решений для игреков, по правилу произведения получаем 2 * 6 = 12 решений.
2) x2 ложна (4 решения). Подходят 4 решения для игреков (все, кроме 10000 и 00000). По правилу произведения 4 * 4 = 16 решений.
Всего 12 + 16 = 28 решений.