hdu 3833
来源:互联网 发布:最绝望的一句话 知乎 编辑:程序博客网 时间:2024/05/16 01:06
题目意思是对给定数列找出一个数,使得其2倍为另外两个数的和且后二者的下标为该数下标的一前一后。
用hash表可解。但是的确没想出来,现在观察可以发现这道题得数列是很有规律的,是1-N的数字,因此为哈希表的存储与查找提供了便利。具体细节见代码。此题参考了牛人的解法才想到可用hash,说明有时注意观察是很重要的。
#include<cstdio>#include<cstring>#include<iostream>#include<utility>#include<string>#include<set>#include<vector>#include<stack>#include<algorithm>#include<queue>#include<cstdlib>#include<cmath>using namespace std;const int M=10020;bool Hash[M];bool flag;int n;int main(){int T;scanf("%d",&T);while(T--){scanf("%d",&n);getchar();char ch;int num;num=0;flag=false;memset(Hash,0,sizeof(Hash));while((ch=getchar())!='\n'){if(ch!=' '){num*=10;num+=(int)(ch-'0');}else{Hash[num]=1;for(int j=1;j<num && j+num<=n;j++)if(Hash[num-j]+Hash[num+j]==1) //若其中一个已经出现,另外一个没出现,则满足题意了{flag=true;break;}num=0;}}Hash[num]=1;if(flag)printf("Y\n");elseprintf("N\n");}return 0;}
- hdu 3833
- hdu 3833
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- Matlab字符串匹配,华为编程最给力
- openCV的图形程序的基本介绍
- 不安装.net framework运行c#程序(续篇)
- 都做到了说明你长大了
- moto me525优缺点
- hdu 3833
- 浏览器下的event对象
- seo站长工具
- 偶然妙语
- android界面设计器(eclipse adt)中如何显示汉字 (非常重要!)
- 3DS文件解析(C++版)
- 面试笔试题——12个工厂分布
- 压力测试工具jmeter和badboy ZT绝配
- python pdf 合並