连通块求最值,dfs
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
int t;
int a[105];
int cnt;
void dfs(int i,int a[],int n)
{
if(i>n||a[i]==1||i<1)return;
cnt++;
a[i]=1;
dfs(i+1,a,n);
}
int main()
{
cin>>t;
while(t--)
{
int n=0;
cnt=0;
int ans=0,anss=0;
cin>>n;
memset(a,0,sizeof a);
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++)
{
if(a[i]==0)dfs(i,a,n);
anss=max(cnt,anss);
cnt=0;
}
cout<<anss<<endl;
}
return 0;
}