one term

小学期第一波题

A+B (I)

Description:二进制加法

T 组数据[1,10];接下来 T 行,每行输入两个二进制串 a 和 b 中间用空格隔开,保证它们长度 a,b<=1000 并且没有前导 0。 如 输入:

  1. 1↵
  2. 11101 110↵ 输出
1
2
3
4
   11101
+ 110
--------
100011

解析:

由于是大数,不能先转化成十进制数,然后相加,再转化成二进制,应该直接进行数组加,字符输入,求长度,然后从最后开始加,用pp变量标记是否有进位,分情况讨论 0 1 pp ;如果一个算完了,就比较 另一个与pp的情况,输出看着复杂,精心写也就那样。记得情况讨论完全。

进车

Description:进车座位

12排,每排可以坐4人,中间有过道。但最后一排中间没有过道,所以可以坐5人,会坐在尽可能靠前的空位。如果同一排有多个位置,他们会统一坐在最左边的空位。车里已经有 k 个乘客了,如果能,他应该坐在哪?

输入:9

输出:

1
2
3
4
5
6
7
8
yes
+--------------------------+
|#.#.#.#.#.#.#.#.#.O.O.O.|D|)
|#.#.#.#.#.#.#.#.#.X.O.O.|.|
|#.........................|
|#.#.#.#.#.#.#.#.#.#.O.O.|.|
|#.#.#.#.#.#.#.#.#.#.O.O.|.|)
+--------------------------+

解析:

有个46位置麻烦,先解决,其他看成二维数组,先不要管后面的特殊字符D ,),进行模拟,本来是从右向左,从上向下;改变k的值,变成从左向右,从下向上,不变好像也行,用 n 记录数到第几个