SZC2026#918. 口算练习题

提交0 通过0
通过率0%
时间限制1000ms
内存限制256MiB

题目描述

题目背景

老师准备把若干道口算题排版成练习材料。为了减少录入量,同一种运算连续出现时,后续题目可以省略运算类型。程序需要补全算式、计算答案,并给出排版后字符串的长度。

题目描述

共有 nn 道口算题。程序需要记住“当前运算类型”,运算类型由一个小写字母表示:

  • a:加法;
  • b:减法;
  • c:乘法。

每道题的输入有两种形式:

  1. type x y:本题明确给出运算类型,先把当前运算类型改为 type,再计算 xxyy
  2. x y:本题省略运算类型,继续使用上一题的运算类型。

第一道题一定会明确给出运算类型。

对每道题构造一个不含空格的完整算式:

  • 加法写成 x+y=result
  • 减法写成 x-y=result
  • 乘法写成 x*y=result

输出算式后,还要输出这个算式字符串的字符总数。长度统计包括所有数字、运算符和等号;如果减法结果为负数,负号也要计入长度。

输入格式

第一行一个整数 nn,表示口算题数量。

接下来 nn 行,每行是 type x yx y,含义见题目描述。

输出格式

共输出 2n2n 行。对于每道题:

  1. 第一行输出完整算式和结果;
  2. 第二行输出该算式的字符数量。

数据范围与约定

  • 1n501\le n\le50
  • 第一题一定包含运算类型;
  • 两个操作数均为非负整数且小于 1000010000
  • 减法结果可能为负数;
  • 所有计算结果均可用常规整数类型保存。

样例输入

4
a 5 8
6 4
b 20 7
3 9

样例输出

5+8=13
6
6+4=10
6
20-7=13
7
3-9=-6
6

样例说明

第二题省略了类型,因此沿用第一题的加法。第三题把类型改为减法,第四题继续使用减法。第四题的结果为负数,负号计入字符串长度。