博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【map】【HDOJ】5233 Gunner II
阅读量:4336 次
发布时间:2019-06-07

本文共 1279 字,大约阅读时间需要 4 分钟。

 

外面有很多树,每棵树顶上有一只鸟,一个数组按从近到远的顺序列出这些树的高度(也就是鸟的高度)

猎人开始从不同高度打枪,子弹不能穿过鸟,也就是在同一高度上只有最近的鸟会被打下来。

给出一个数组表示猎人每次打枪的高度,要求出每次打落的鸟所在的树的编号(从1开始编号),如果这个高度上没有鸟输出-1

 

放一个MAP表示每个高度上从近到远的鸟的位置编号,

猎人每次射击就将该高度的定位数向后移,直到定位数大于鸟的数量,就输出-1

 

1 #include
2 using namespace std; 3 4 typedef vector
vec; 5 map
b; 6 map
pos; 7 int n, m, shot; 8 9 int main(){10 while(~scanf("%d%d", &n, &m)){11 b.clear();12 pos.clear();13 for(int i = 1; i <= n; i++){14 int h;15 scanf("%d", &h);16 b[h].push_back(i);17 pos[h] = 0;18 }19 map
::iterator it;20 while(m--){21 scanf("%d", &shot);22 it = b.find(shot);23 if(it != b.end()){24 int p = it->first;25 int l = it->second.size();26 if(pos[p] < l){27 printf("%d\n", it->second[pos[p]]);28 pos[p]++;29 }30 else printf("-1\n");31 }32 else{33 printf("-1\n");34 }35 }36 }37 38 return 0;39 }

 

转载于:https://www.cnblogs.com/miaowTracy/p/5347043.html

你可能感兴趣的文章
ASP.NET MVC 4 Attribute特性
查看>>
wdcp升级php5.8到php7.1.12后安装gitlab
查看>>
mysql path妙用
查看>>
js 删除数组几种方法
查看>>
Git 多人协作的工作模式
查看>>
相信未来
查看>>
java Http请求
查看>>
Unix命令行学习
查看>>
CentOS查看显卡及GPU相关信息
查看>>
详细介绍Linux telnet命令的使用
查看>>
Centos7 安装相关软件
查看>>
Linux学习之路(一)命令基本格式
查看>>
查询区间返回时间列表及所需数据无数据则返回0
查看>>
12、angular路由
查看>>
(转)WP7 断点续传
查看>>
Oracle调整内存参后报ORA-00844和ORA-00851
查看>>
【转】iOS中属性与成员变量的区别
查看>>
浏览器兼容性问题,主要针对IE6~7
查看>>
Database-First,Model-First,Code-first
查看>>
Codeforces 757D - Felicity's Big Secret Revealed
查看>>