思路:
trie树 + 贪心,参考了https://www.cnblogs.com/Memory-of-winter/p/10339779.html
实现:
1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 int main() 5 { 6 int n, k; string a, b; 7 while (cin >> n >> k >> a >> b) 8 { 9 ll ans = 0, cur = 1; 10 for (int i = 0; i < n; i++) 11 { 12 cur <<= 1; 13 if (a[i] == 'b') cur--; 14 if (b[i] == 'a') cur--; 15 if (cur >= k) 16 { 17 ans += ((ll)n - i) * k; 18 break; 19 } 20 ans += cur; 21 } 22 cout << ans << endl; 23 } 24 return 0; 25 }