Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "Map: Range Search"
https://onlinejudge.u-aizu.ac.jp/problems/ITP2_8_C
僕が作成、提出したコードは、以下のとおりです。
Aizu Online Judge in C++ #ITP2_8_C : Map: Range Search
/* Aizu Online Judge in C++ #ITP2_8_C : Map: Range Search https://onlinejudge.u-aizu.ac.jp/problems/ITP2_8_C 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n; cin>>n; map<string,int> m; for(int i=0;i<n;i++){ int query; string s; cin>>query>>s; if(query==0){ int x; cin>>x; m[s]=x; }else if(query==1){ cout<<m[s]<<endl; if(m[s]==0){ m.erase(s); } }else if(query==2){ m.erase(s); }else{ string t; cin>>t; map<string,int>::iterator a=m.lower_bound(s),b=m.upper_bound(t); for(map<string,int>::iterator j=a;j!=b;j++){ cout<<j->first<<" "<<j->second<<endl; } } } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/