В одному рядку текстового документа в середньому розміщується 28 символів, а на одній сторінці — 23 рядки тексту. Скільки сторінок може містити цей документ, якщо довжина його двійкового коду 20 Кбайт, а текст закодований із використанням таблиці Windows—1251?
Объяснение:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int N;
cin >> N;
vector<vector<int>> a(N,vector<int> (N,0));
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
cin>> a[i][j];
for (int i = 0; i < N; i++) {
for (int j = i; j < N; j++)
swap(a[j][i], a[i][j]);
}
cout << endl;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++)
cout << a[i][j] << " ";
cout << endl;
}
return 0;
}
Начнем выбирать коды для букв.
Дефолтные коды:
А - 010
Б - 011
Г - 100
Так, теперь нужно выбрать коды для остальных букв. Сразу смотрим на наше слово, "МАДАМ", здесь видим 2 буквы М, 2 буквы А, 1 букву Д. Нам нужно закодировать это слово минимальным числом знаков, следовательно, будем стараться найти минимальный код для букв М и Д.
Для Д возьмём 00, а для М возьмём 11. Про остальные буквы алфавита не забываем, Я - 1010, Р - 1011
Наш алфавит + код выглядят так:
А - 010
Б - 011
Г - 100
Д - 00
М - 11
Я - 1010
Р - 1011
Весь алфавит закодирован, теперь нам нужно просто посчитать.
2 * 2 + 2 + 3 * 2 = 12
Наш ответ: 12