今すぐプログラムを準備するために、大学生のための競争を設計するための時間です!締め切りを満たすために、コードをブレーンストーミングし、コードの夜にプログラミングコンテストのほぼすべてのメンバー。
あなたは対象の配置の難易度をチェックするための責任が優秀な生徒、です。
今、あなたは難易度のスコアのすべての問題を持っています。ルールは以下のような構成であることが必要です。
1.問題の数は、(両方を含む)10と13の間であるべきです。
2.(問題の最小分率の難しさである)難易度スコアの最も単純な問題は、1に等しくなければなりません。
3.少なくとも二つの問題があり、難易度スコアは1に等しくなるはずです。
4.問題点の難しさに応じて昇順後、問題の難しさの差の隣接する二つの絶対値がスコア2の和よりも大きくてはなりません。問題の二つの隣接する1が最も難しい問題である場合は、その後、それらの間の難易度スコアの制限の違いはありません。一番の問題は、最も困難な問題です。問題が最も困難の一つであることを確認してください。
チームのメンバーはあなたのために困難な問題の多くを手配します。これらの構成は、規則に準拠していることを確認してください。
INPUT
複数のテストケースがあります。入力の最初の行は整数T(1≤T≤104)で 、 テストケース。そして、Tのテストケース。
各テストケースの最初の行は、整数N(1≤N≤100)の問題を含んでいます。
次の行には、各質問のためのnは整数S1、S2、...、SN(-1000≤≤SI 1000)難易度のスコアが含まれています。
フレンドリーリマインダー、この問題は、入力と出力の多数のファイルが含まれている、より速く入力・出力方法を使用することをお勧めします。
OUTPUT
各テストケースについては、配置ルール出力「はい」(引用符)、そうでなければ出力(引用符で)「いいえ」に従う場合。
TEST
。8
。9
。1 2 3 4 5 6 7 8 9
10
1 2 3 4 5 6 7 8 9 10
11
999 1 1 2 3 4 5 6 7 8 9
11
999 1 3 5 7 9 11 13である。17 19 21である
10
15 1 13である。3. 17 11 1 5 7 9
13れる
。1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1 2
10
。5. 4. 3. 9 6 7 8 11 10
10
15 13れている。1. 5. 4. 3. 6. 7. 1 14
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int a[10000];
int comp(const void *p,const void *q)
{
return (*(int *)p-*(int*)q);
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
memset(a,0,sizeof(int));
int flag = 1;
int n;
scanf("%d",&n);
if(n<10||n>13)//问题数量是否合法
flag = 0;
for (int i = 0; i < n; ++i)
{
scanf("%d",&a[i]);
if(a[i]<1)//分数是否合法
flag=0;
}
if(flag==0)//此时判断为假直接输出进入下次循环
{
printf("No\n");
continue;
}
qsort(a,n,sizeof(int),comp);
/*for (int i = 0; i < n; ++i)
printf("%d ",a[i]);*///测试快排效果*/
if(a[1]!=1)//最小两个不是1
{
flag=0;
printf("No\n");
continue;
}
for(int i = 1;i < n-1; i++)//是否小于2
{
if(a[i]-a[i-1]>2)
{
flag=0;
break;
}
}
if(flag==0)
printf("No\n");
else
printf("Yes\n");
}
}