A. 批次号对切
批次号对切
秋招模拟赛第29场|携程实习|2023.05.25
- Status
- Done
- Rule
- IOI
- Problem
- 3
- Start at
- 2023-6-19 19:00
- End at
- 2023-6-19 20:30
- Duration
- 1.5 hour(s)
- Host
- Partic.
- 11
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
两数之和为偶数当且仅当它们奇偶性相同,即左半段末位与整个数末位同奇偶。枚举切开点(不切开最后一位),统计与末位同奇偶的前缀末位个数。
物流侧拿到一个正整数批次号,以十进制数字串的形式给出。为了把一车货拆成两票,需要在某两个相邻数位之间切开,得到左右两段非空数字串。切开后允许出现前导零,并使两段各自代表的整数之和为偶数。
请统计有多少种切开位置是合法的。
约束:该正整数不超过 1 后面连续 100000 个零,输入以其十进制字符串给出。
第一行包含一个由数字字符组成的字符串,表示正整数 n。保证 n 不超过 1 后面连续 100000 个零。
输出一个整数,表示合法切割方案的个数。
输入
24680
输出
4
说明
一个整数的奇偶性只由末位决定,两数之和为偶数当且仅当两段末位奇偶相同。
右段末位永远是原串最后一位 0(偶数),因此只需统计前 4 个位置中末位为偶数的切割点,共 4 种。
输入
13
输出
1
说明
只能切成 1 与 3,两段都是奇数,和为偶数,方案数为 1。
输入
8
输出
0
说明
只有一位数字,无法切成两段,方案数为 0。
输入
111222333
输出
5
说明
最后一位 3 是奇数,合法切割点要求左段末位也是奇数。
前 8 个字符里奇数共 5 个,故答案为 5。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册