d7175944p0ajvy
13.12.2022 05:13

Водной из кодировок unicode каждый символ кодируется 2 байтами. карина написала текст ( в нем нет лишних пробелов): «киви, груша, ананас, абрикос, апельсин, грейпфрут - фрукты». ученица вычеркнула из списка название одного фрукта. заодно она вычеркнула ставшие лишними запятые и пробелы - два пробела не должны идти подряд. при этом размер нового предложения в данной кодировке оказался на 160 бит меньше , чем размер исходного предложения. напишите в ответе вычеркнутое название фрукта

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Ястеб22
10.08.2020 23:45

#include <iostream>

#include <vector>

#include <set>

#include <cmath>

using namespace std;

bool check(double a, double b, double c){

   return !(a >= b + c || b >= a + c || c >= b + c);

}

double square(double a, double b, double c){

   double p = (a+b+c)/2;

   return sqrt(p * (p-a) * (p-b) * (p-c));

}

bool is_palind(int k){

   string s = to_string(k);

   for(int i = 0; i < s.length() - i - 1; i++)

       if(s[i] != s[s.length()-i-1])

           return false;

   return true;

}

void solve1(){

   vector<double> lines(4);

   double ans = -1;

   for(auto &i : lines) cin >> i;

   for(int i = 0; i < 4; i++)

       for(int j = i + 1; j < 4; j++)

           for(int k = j + 1; j < 4; j++)

               if(check(lines[i],lines[j],lines[k]))

                   ans = max(ans,square(lines[i],lines[j], lines[k]));

   ans == -1 ? cout << "No solution" : cout << ans;

}

void solve2(){

   set<int> s;

   for(int i = 1000; i < 10000; i++)

       if(is_palind(i))

           s.insert(i);

   int n;

   cin >> n;

   s.find(n) != s.end() ? cout << n : cout << *upper_bound(s.begin(),s.end(),n);

}

0,0(0 оценок)
Ответ:
tv7antena
18.06.2022 20:59
Из условия Фано следует, что в префиксном неравномерном двоичном коде, предусматривающем однозначное декодирование, ни одно кодовое слово не может быть началом другого. 

Таким образом, оставшиеся три кода не могут быть началом кода буквы Б, и началами кодов друг друга.

То есть коды 0 и 00 отпадают сразу, т.к. это начала буквы Б.

Если предположить, что один из кодов равен 1, и что нам нужны кратчайшие коды, значит оставшиеся коды могут быть только 01 и 011.

Если предположить, что коды двузначны, тогда кодами могут быть 01, 10 и 11.

В первом случае суммарная длина кодов равна 1+2+3+3 = 9, во втором случае - 2+2+2+3 = 9.

Оба варианта подходят, кратчайшая суммарная длина - 9
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота