题目链接:点击打开链接
自己代码
#include<stdio.h>
int main()
{
int n,i,l,j;
int a[110];
int b[110];
while(~scanf("%d",&n))
{
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
l=1;
b[0]=0;
for(i=1;i<=n;i++)
{
if(a[i]!=0)
b[l++]=i;
else if(l>1)
b[l-1]=i;
}
if(l==1&&a[n]==0)
printf("NO\n");
else
{
printf("YES\n");
printf("%d\n",l-1);
for(i=1;i<l;i++)
{
printf("%d %d\n",b[i-1]+1,b[i]);
}
}
}
return 0;
}
别人代码
#include<stdio.h>
int main(){
int n,i,b,s;
int a[110];
while(~scanf("%d",&n))
{
s=0;
b=0;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
s+=a[i];
if(a[i])
b=i;
}
if(b==0)
printf("NO\n");
else
{
printf("YES\n");
if(s)
printf("1\n1 %d\n",n);
else
printf("2\n1 %d\n%d %d\n",b-1,b,n);
}
}
return 0;
}