我们都知道上体育课时,体育老师会让我们按身高从小到大(或从大到小)排成一排。可是近日体育老师周老师却有点烦心,
他教的班级来了几个插班生,可他们有的不守规矩,没有按照身高大小来插入队伍,导致队伍很难看。现在周老师有一个问
题:给定一排人的身高,问能否至多去掉一个人,使得队伍里的人的身高又变成从小到大(或从大到小)?
注意: 如果一排人的身高为 1 2 2 或 2 2 1是合法的。
输入格式
第一行一个整数T,表示case数
接着是一个n,表示有n个人
接着是n个整数,第i个整数表示第i个人身高为a[i]
T <= 1000 , 2 <= n <= 1000 , a[i] <= 10000
输出格式
如果可以,输出”YES”,否则输出”NO”。每个case占一行。
1 回答
慕沐4449596
TA贡献34条经验 获得超15个赞
#include<stdio.h>
int main()
{
int shuzu[1000],T,n,i,flag1,flag2;
scanf("%d",&T);
while(T--)
{
flag1=0;
flag2=0;
scanf("%d",&n);
scanf("%d",&shuzu[0]);
for(i=1;i<n;i++)
{
scanf("%d",&shuzu[i]);
if(shuzu[i]>shuzu[i-1]) flag1++;
else if(shuzu[i]<shuzu[i-1]) flag2++;
}
if(flag1>=2&&flag2>=2) printf("NO\n");
else printf("YES\n");
}
return 0;
}
- 1 回答
- 0 关注
- 1629 浏览
添加回答
举报
0/150
提交
取消