Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д, Е, Ж, З, И, Й. решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для букв А, Б, В, Г, Д, Е, Ж, З, И использовали соответственно кодовые слова 00, 111, 1000, 1001, 1010, 1100, 1101, 010, 011. Укажите кратчайшее возможное кодовое слово для буквы Й, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением.
1) 3 кучки по 3. взвешиваем 2кучки, одна отложена
* равно - тогда фальшивка в отложенной куче
на чашу с приклееной ложем одну сомнительную
на вторую чашу ложим одну сомнительную и одну не фальшивую
если равно, то отложенная, если нет то сомнительная из более легкой чаши
*не равно, если сомнительная(более легкая) кучка с приклееной, тогда одну монету на другую чашу, одну откладываем. При равно - фальшивка отложена, при неравно - более легкая
,если сомнительная куча без приклееной, то действуем как при равно после первого взвещивания
писать долго, на самом деле все легко
#include <iostream>
using namespace std;
int main(){
int a; cin >> a;
if (a > 0){ a -= 10; }else{ a += 10; }
cout << a << endl;
main();
return 0;
}
Вторая задача:
#include <iostream>
using namespace std;
int main(){
int a, b; cin >> a >> b;
if (a * b > 0){ a = (a * b) * -2; }else{ a = (a * b) * 3; }
cout << a << endl;
main();
return 0;
}
Третья задача:
#include <iostream>
using namespace std;
int main(){
int a, b; cin >> a >> b;
if (a > b){ a = a - b; }else{ a = b - a; }
cout << a << endl;
main();
return 0;
}