给出了n 个非负整数的序列。需要计算序列中元素对的数量:
- 该对中的第一个元素位于第二个元素之前的序列中,
- 两个元素都是正的,
- 它们的和是偶数,
- 序列中它们之间至少有一个零。
输入数据:
第一行包含一个非负整数n——序列中的数字的数量。接下来的n行包含序列中包含的数字,每行一个。
输出数据:
程序应该输出一个数字——找到的对的数量。
输入数据示例:
11 1 2 3 0 4 5 6 0 7 8 9
示例输出:
13
解决方案的示例。它很慢,我们需要更快地解决它:
n = int(input())
a = [int(input()) for _ in range(n)]
c = 0
for i in range(n):
if a[i] > 0:
for j in range(i, n):
if a[j] > 0 and (a[i] + a[j]) % 2 == 0:
if any(a[k] == 0 for k in range(i + 1, j)):
c += 1
print(c)