题意简述
把1移到移到左边最近的0的位置,请问形成一片连续的一需要移多少次?
题解
像坦克的履带,对于两群不相连的1,右边想和左边相连至少要走中间的0的数量的步数,这下就可以遇到零才执行收获操作了
code
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int n,cnt=0,start1=0,sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
int x;
cin>>x;
if(x==1)
{
cnt+=sum;
sum=0;
start1=1;
}
else if(start1) sum++;
}
cout<<cnt<<endl;
}
return 0;
}
标签:cnt,int,sum,start1,Moving,Chips
From: https://www.cnblogs.com/pure4knowledge/p/18040873