1 条题解
-
0
练72.1 茶道
解题思路
先按二进制位解析水温temp=temp*2+bit,再读十进制茶量q,乘积用十进制输出。
正确性说明
依题目给出的对应关系逐项处理,位置与原输入保持明确对应。每一步完成当前项的全部贡献,结束后得到所有位置或字符的目标结果。
易错点
二进制可以带前导0;两个输入的进制不同。
复杂度
时间O(L),空间O(L)。
参考代码(C++11)
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); string s; long long q; cin >> s >> q; long long temp = 0; for (char c : s) temp = temp * 2 + c - '0'; cout << temp * q << "\n"; return 0; }
- 1