Codeforces Global Round 9 参与排名人数10372
[codeforces 1375C] Element Extermination 枚举排列数+找规律
总目录详见https://blog.csdn.net/mrcrack/article/details/103564004
在线测评地址https://codeforces.com/contest/1375/problem/C
Problem | Lang | Verdict | Time | Memory |
---|---|---|---|---|
C - Element Extermination | GNU C++17 | Accepted | 61 ms | 5000 KB |
题目大意:给应一个包含n的元素的数组a,若数组中存在相邻元素a[i]<a[i+1],那么可以删去a[i]或者a[i+1],删除次数不限,问能否将给定的数组删除后只剩下一个元素,若行,输出YES,反之,输出NO.
找规律时,感觉很重要。
在n=4的排列数中进行研究
1 2 3 4YES
1 2 4 3YES
1 3 2 4YES
1 3 4 2YES
1 4 2 3YES
1 4 3 2YES
2 1 3 4YES
2 1 4 3YES
2 3 1 4YES
2 3 4 1NO
2 4 1 3YES
2 4 3 1NO
3 1 2 4YES
3 1 4 2NO
3 2 1 4YES
3 2 4 1NO
3 4 1 2NO
3 4 2 1NO
4 1 2 3NO
4 1 3 2NO
4 2 1 3NO
4 2 3 1NO
4 3 1 2NO
4 3 2 1NO
发现规律a[1]>a[n]输出NO
AC代码如下:
#include <stdio.h>
#define maxn 300010
int a[maxn];
int main(){
int t,n,i;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
for(i=1;i<=n;i++)scanf("%d",&a[i]);
if(a[1]>a[n])printf("NO\n");
else printf("YES\n");
}
return 0;
}