题目 20287

乘法

查看题解 ↗GitHub ↗如何评测
题号
20287
标签
比赛NOIP
来源
2023 杜瑜皓 CSP-S&NOIP20连测 第 17 套

乘法

题目描述 我们现在想用加法,减法和左移来模拟乘法。具体的,给一个算式𝑥𝑥 × 𝑎𝑎,想把它 替换成(𝑥𝑥 << 𝑎𝑎0 )𝑜𝑜𝑝𝑝1 (𝑥𝑥 << 𝑎𝑎1 )𝑜𝑜𝑝𝑝2 … 𝑜𝑜𝑝𝑝𝑛𝑛 (𝑥𝑥 << 𝑎𝑎𝑛𝑛 )。其中𝑜𝑜𝑝𝑝𝑖𝑖 必须是加法或者减法。

对于所有的左移(包括左移 0 位),加法,减法都需要花费一单位时间计算。给定𝑎𝑎 的二进制表示,问最少需要多少的时间可以计算。

输入格式 一行输入01串,表示𝑎𝑎的二进制表示,左边为高位。

输出格式 输出一个整数,表示答案。

样例输入 1 1111

样例输出 1 3

样例解释 1 x * 15 = (x << 4) - (x << 0)

所以一共需要 3 的时间。

样例输入输出 2 见下发文件。

数据规模 共 10 个测试点。

测试点1,2满足|𝑎𝑎| ≤ 10。

测试点3,4,5满足|𝑎𝑎| ≤ 1000。

对于所有数据,满足1 ≤ |𝑎𝑎| ≤ 106 ,并且第一位不为0。

数据下载

题目 20287 的公开数据

正在读取文件列表…

常用命令

题目 20287 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。