Problem:
MathJax.Hub.Config({
tex2jax: { inlineMath: [['\\(','\\)']] }
});

Problem C: Mysterious Operator

ケー氏がいつものように某SNSを閲覧していると、
「解ける人はIQ150以上ある」という問題がタイムラインに流れてきた。
ケー氏はIQが150以上あるので、見るまでもなくその問題を一瞬で解いてしまった。
彼にしてみれば、このような問題なぞに頭を働かせる必要は無い。 コンピュータに任せれば充分なのである。

問題

問題には以下のような謎の数式が書かれていた。

\( 5 + 3 = 28 \)

\( 9 + 1 = 810 \)

\(8 + 6 = 214 \)

\( 5 + 4 = 19 \)

\( 2 + 2 = 4 \)

\( 15 + 8 = 723 \)

\( 7 + 9 = -216 \)

\( 3 + 0 = 33 \)

上記の演算子\( + \)について考えた時、ある正整数\( a \)について\( x \geq 0, y \geq 0 \)かつ\( x + y = a \)になるような整数のペア\( x,y \)の個数を求めよ。

入力

正整数\(a\)が一行で与えられる。

出力

\( a = x + y, x \geq 0, y \geq 0\)を満たすペア\((x,y)\)の個数を一行に出力せよ。

制約

\( 1 \leq a \leq 10^9(= 1000000000) \)

入出力例

入力1

19

出力1

1

\( 5 + 4 \)の1通りである。

入力2

22

出力2

2

\( 11 + 11 \)と、\( 2 + 0 \)の2通りが存在する。

入力3

1

出力3

0

\( 1 + 0 = 11 , 0 + 1 = -11 \)である。\( 1 \)は生成することができない。

入力4

101

出力4

0

\( 1 - 0 \)は\( 101 \)ではないことに注意すること。

入力5

660233276

出力5

4

Solution in JAVA (judge verdict: Accepted)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String line = "";

		while ((line = br.readLine()) != null && !line.isEmpty()) {
			int count = 0;
			// a == b
			if (Integer.parseInt(line) % 2 == 0) {
				count++;
			}
			// a != b
			for (int j = 1; j < line.length(); j++) {
				if (line.charAt(j) != '0') {
					int l = Integer.parseInt(line.substring(0, j));
					int r = Integer.parseInt(line.substring(j));
					if (l <= r && (r - l) % 2 == 0) {
						count++;
					}
				}
			}
			System.out.println(count);
		}
	}
}