Spacer Po Drzewie Binarnym
unknown
plain_text
3 years ago
896 B
2
Indexable
Never
#include <iostream> #include <vector> #include <algorithm> using namespace std; int q; long long a, b; string to_binary(long long x) { string wynik; while (true) { wynik += to_string(x % 2); x /= 2; if (x <= 0) { reverse(wynik.begin(), wynik.end()); return wynik; } } reverse(wynik.begin(), wynik.end()); return wynik; } int f(int a, int b) { int wynik = 0; string str = to_binary(a); string str1 = to_binary(b); //cout<<str<<" "<<str1<<"\n"; for (int i = 0; i < max(str.size(), str1.size()); i++) { if (str[i] != str1[i]) { wynik += str.size() - 1 - (i - 1); wynik += str1.size() - 1 - (i - 1); return wynik; } } return wynik; } int main() { cin >> q; for (int i = 0; i < q; i++) { cin >> a >> b; cout << f(a, b) << "\n"; } return 0; }