弱键(Weak Key, ACM/ICPC Seoul 2004, UVa1618)
2016-07-17 21:27
405 查看
I think:
给出k(4≤k≤5000)个互不相同的整数组成的序列Ni,判断是否存在4个整数Np、Nq、Nr和Ns(1≤p<q<r<s≤k),使得Nq>Ns>Np>Nr或者Nq<Ns<Np<Nr。
p q r s
6 8 5 7 -- Nq>Ns>Np>Nr
7 5 8 6 -- Nq<Ns<Np<Nr
#include <stdio.h> int main(void) { int n,t,i,numarr[10000],tem,j,k,flag; while(scanf("%d",&n)!=EOF) { while(n--) { flag=0; scanf("%d",&t); for(i=0; i<t; i++) { scanf("%d",&numarr[i]); } for(i=0; i<t; i++) { tem=numarr[i]; if(numarr[i+1]>tem) { for(j=i+2; j<t; j++) { if(numarr[j]<tem) { for(k=j+1; k<t; k++) { if(numarr[k]>tem&&numarr[k]<numarr[i+1]) flag=1; } } } } if(flag==1)break; } for(i=0; i<t; i++) { if(flag==1)break; tem=numarr[i]; if(numarr[i+1]<tem) { for(j=i+2; j<t; j++) { if(numarr[j]>tem) { for(k=j+1; k<t; k++) { if(numarr[k]<tem&&numarr[k]>numarr[i+1]) flag=1; } } } } } if(flag)printf("YES\n"); else printf("NO\n"); } } return 0; }
相关文章推荐
- 【Coursera】SecondWeek(1)
- C#WebService发布以及IIS发布
- 实现lower_bound和upper_bound算法
- Android——简单模拟银行转账
- Win10内置应用恢复初始状态
- 把二叉树打印成多行 java
- HTTP请求头部+响应码
- 2016年团体程序设计天梯赛-决赛 L1-3. 出租(20)
- 三种思维模式
- 微信端开发中的常识解惑
- 计算机词汇之鬼话连篇
- Windows上Navicat工具远程连接PostgreSQL数据库
- 用man命令查看内核函数
- 深入理解Java的接口和抽象类
- 关于搜索栏取消第一响应(取消焦点), 取消按钮不隐藏的解决
- 漫步微积分五——速度和变化率
- 设计模式之模式分类
- .NET中制做对象的副本(三)通过序列化和反序列化为复杂对象制作副本
- 2016年团体程序设计天梯赛-决赛 L1-2. I Love GPLT(5)
- codecademy--javascript