首页 > 代码库 > HDU 4557
HDU 4557
http://acm.hdu.edu.cn/showproblem.php?pid=4557
解决一类问题的set用法
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <set>#include <map>using namespace std ;char na[1005][20] ;int main(){ int T ; scanf("%d",&T) ; multiset <int> S[25] ; for(int cas=1 ;cas<=T ;cas++) { for(int i=0 ;i<25 ;i++) S[i].clear() ; int n ; scanf("%d",&n) ; printf("Case #%d:\n",cas) ; int cnt=0 ; int num=1 ; while(n--) { char op[5] ; scanf("%s",op) ; if(op[0]==‘A‘) { int x ; scanf("%s%d",na[num],&x) ; S[x].insert(num++) ; printf("%d\n",++cnt) ; } else { int x ; scanf("%d",&x) ; int flag=0 ; for(int i=x ;i<=20 ;i++) { if(!S[i].empty()) { multiset <int>::iterator it ; it=S[i].lower_bound(1) ; if(it!=S[i].end()) { flag=1 ; printf("%s\n",na[*it]) ; S[i].erase(it) ; cnt-- ; break ; } } } if(!flag) { puts("WAIT...") ; } } } } return 0 ;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。