当前位置: 首页 > news >正文

A. Everybody Likes Good Arrays!

time limit per test

1 second

memory limit per test

256 megabytes

An array aa is good if for all pairs of adjacent elements, aiai and ai+1ai+1 (1≤i<n1≤i<n) are of different parity. Note that an array of size 11 is trivially good.

You are given an array of size nn.

In one operation you can select any pair of adjacent elements in which both elements are of the same parity, delete them, and insert their product in the same position.

Find the minimum number of operations to form a good array.

Input

Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤5001≤t≤500). The description of the test cases follows.

The first line of each test case contains an integer nn (1≤n≤1001≤n≤100).

The second line of each test case contains nn integers a1,a2,…,ana1,a2,…,an (1≤ai≤1091≤ai≤109).

Output

For each test case print an integer, the minimum number of operations required to form a good array.

Example

Input

Copy

 

3

5

1 7 11 2 13

4

1 2 3 4

6

1 1 1 2 2 3

Output

Copy

2
0
3

Note

Consider the first test case. Select the 22-nd and the 33-rd integers and apply the operation on them. The array changes from [1,7,11,2,13][1,7,11,2,13] to [1,77,2,13][1,77,2,13]. Next, select the 11-st and the 22-nd integers, array changes from [1,77,2,13][1,77,2,13] to [77,2,13][77,2,13]. Thus we require 22 operations. It can be proved that this is the minimum number of operations.

In the second test case, the given array is already good. So we require 00 operations.

解题说明:此题是一道数学题,需要保证连续两个元素奇偶性不同,直接遍历数列,找出存在相同奇偶性的二元组即可。

#include<stdio.h>
int main()
{int t;scanf("%d", &t);while (t--){int n, i;scanf("%d", &n);long long int a[101];int ans = 0;for (i = 0; i < n; i++){scanf("%lld", &a[i]);}for (i = 0; i < n - 1; i++){if ((a[i] % 2 == 1 && a[i + 1] % 2 == 1) || (a[i] % 2 == 0 && a[i + 1] % 2 == 0)){ans++;}}printf("%d\n", ans);}return 0;
}

相关文章:

  • 视频转gif在线工具-免费快捷
  • 如何创建成员内部类数组
  • 硬件工程师面试常见问题(8)
  • SQL语法基础,进阶,高级sql语句学习
  • 山东大学软件学院项目实训-基于大模型的模拟面试系统-网页图片显示问题
  • Hutool TreeUtil快速构建树形数据结构
  • 简易版2D我的世界C++程序(有点BUG,但是可以玩!!!)
  • 教育领域的AIGC革命:构建多模态智能教学系统
  • Java 安全:如何保护敏感数据?
  • pytorch python常用指令
  • GoLang基础
  • Java ThreadLocal与内存泄漏
  • SD模型的评估指标(挖坑中..)
  • 【强化学习(实践篇)】#1 多臂赌博机网格世界
  • 腾讯云智三道算法题
  • chrony服务器(1)
  • Python赋能教育:构建智能考试评分系统的最佳实践
  • 上位机知识篇---时钟分频
  • Android学习总结之自定义View绘制源码理解
  • springboot入门-controller层
  • 2025年度中国青年五四奖章暨新时代青年先锋奖评选揭晓
  • 中国建设银行浙江省分行原党委书记、行长高强接受审查调查
  • 商务部:一季度我国服务贸易较快增长,进出口总额同比增8.7%
  • 泽连斯基承认乌情报部门刺杀俄军高官
  • 西班牙葡萄牙突发全国大停电,欧洲近年来最严重停电事故何以酿成
  • 王毅会见俄罗斯外长拉夫罗夫