Responsive image

问题 3065 --困难的交换数字

3065: 困难的交换数字

时间限制: 1 Sec  内存限制: 128 MB
提交: 0  解决: 95
[提交][状态][讨论版][命题人:]

题目描述

        给定一个长度为 n 的数组 an ,下标从 1 开始,可以进行以下操作:

  • 选择两个下标 i , j  满足 1 <= i < j <= n ,ai >  aj ,交换 ai , aj

        问最少多少次操作后 a1 为奇数。

        若无论多少次操作和都无法使得 a1 为奇数,则输出 -1。

输入描述

        每一个测试点包含多组测试数据,第一行输入一个正整数 1 <= T <= 103,表示该测试点测试数据的数量。
        对于每组测试数据:
        第一行输入一个正整数 1 <= n <= 100
        第二行输入 n 个整数以空格相隔,第 i 个整数表示 0 <= ai <= 109

输出描述

        对于每组测试数据,一行输出一个整数,表示最少的操作次数使得 a为奇数,若无解则输出 -1。

样例输入

3
3
1 2 3
2
0 1
2
2 1

样例输出

0
-1
1

来源

[提交][状态]
ACM算法攻关部