UVa11991(map+vector)
2015-08-07 11:50
429 查看
题目大意:让你在一个长度为n的序列中,快速找出第b个a的数组下标(比如序列:1 1 2 2,第一个2的下标是2)
截图思路:利用map数组和vector,造张“表”出来
代码:
截图思路:利用map数组和vector,造张“表”出来
代码:
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<vector> #include<map> using namespace std; map<int,vector<int> >table; int n,m,a,b; int main() { while(scanf("%d%d",&n,&m)!=EOF) { table.clear(); for(int i=1;i<=n;i++) { scanf("%d",&a); if(!table.count(a)) table[a]=vector<int>();//³õʼ»¯Ò»Ï table[a].push_back(i); } for(int i=1;i<=m;i++) { scanf("%d%d",&a,&b); if(!table.count(b)||table[b].size()<a) printf("0\n"); else printf("%d\n",table[b][a-1]); } } return 0; }
相关文章推荐
- centOS配置mysql+appache+vsftp=php服务器
- Android圆角Tag控件的另类实现
- win8.1 64位环境建设android开发环境
- Struts2里面 s:textfield标签 Date类型的格式化以及日期时间控件使用
- 互联网公司2014前端笔试面试题:JavaScript篇
- 初次使用ticcs注意事项
- websocket入门指南
- C/C++校招笔试面试经典题目总结十
- 微信开放平台,公众号第三方平台接入
- object-c 不定参数的遍历和原理
- Oracle Recovery 01 - 常规恢复之完全恢复
- OpenGL三大变换
- Spiral Matrix
- 50. Element removeChild() 方法
- CSDN博客积分规则和获取积分方法
- 程序员高手和菜鸟的区别是什么?
- jquery提交时的灵异事件
- Js 时间
- jdbc结果集映射成实体类
- md /mdd /ml /mt/mtd