CF132D.Constants in the language of Shakespeare
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Shakespeare is a widely known esoteric programming language in which programs look like plays by Shakespeare, and numbers are given by combinations of ornate epithets. In this problem we will have a closer look at the way the numbers are described in Shakespeare.
Each constant in Shakespeare is created from non-negative powers of 2 using arithmetic operations. For simplicity we'll allow only addition and subtraction and will look for a representation of the given number which requires a minimal number of operations.
You are given an integer n. You have to represent it as n = _a_1 + _a_2 + ... + a__m, where each of a__i is a non-negative power of 2, possibly multiplied by -1. Find a representation which minimizes the value of m.
莎士比亚(Shakespeare)是一种广为人知的深奥编程语言,其程序形如莎士比亚戏剧,而数字则由华丽的修饰语组合来表示。本题中,我们将更细致地考察莎士比亚语言中数字的表示方式。
莎士比亚语言中的每个常量均由 2 的非负整数次幂经算术运算构成。为简化问题,我们仅允许加法与减法,并寻求一种给定数字的表示形式,使其所需运算次数最少。
给定一个整数 n。你需要将它表示为 n=a1+a2+⋯+am,其中每个 ai 均为 2 的某个非负整数次幂(即形如 2k,k≥0),并可乘以 −1(即允许取负)。请找出使 m 最小的表示形式。
输入格式
The only line of input contains a positive integer n, written as its binary notation. The length of the notation is at most 106. The first digit of the notation is guaranteed to be 1.
输入仅包含一行,为一个正整数 n 的二进制表示。该二进制表示的长度至多为 106,且其首位数字保证为 1。
输出格式
Output the required minimal m. After it output m lines. Each line has to be formatted as "+2^x" or "-2^x", where x is the power coefficient of the corresponding term. The order of the lines doesn't matter.
输出所需的最小的 m。之后输出 m 行,每行格式为 +2^x 或 -2^x,其中 x 是对应项的幂次系数。各行的顺序无关紧要。
输入输出样例
输入#1
1111
输出#1
2 +2^4 -2^0
输入#2
1010011
输出#2
4 +2^0 +2^1 +2^4 +2^6
输入解题思路,AI测评打分。不知道怎么写?