一開始想一直用條件判斷,不斷做分色dp
但後來實作時發現沒有判斷依據要執行哪個變成接近值
才發現是要轉成二進位做刪除,增補等動作
但是這樣玩字串有點麻煩
所以反過來變成他們都要經過幾次刪除
才能變成一樣的東西
邏輯:比大小 除以二(刪除末尾位元)
#include <bits/stdc++.h>
using namespace std;
int main() {
int A, B, ans = 0;
cin >> A >> B;
while (A != B) {
(A > B? A : B) /= 2;
++ans;
}
cout << ans << endl;
return 0;
}
解題需要注意是否有n進位方向的嫌疑
例外edit distance 在字串裡也是重要dp演算法,要再注意
喔喔對了,到今天才發現我一直把tioj敲成toij(欠揍
所以以前網址不變
但是這篇文以後都會