aoj0298:Bus Timetable
解法
与えられるすべての時刻をvectorに突っ込む。
sort->unique->eraseと順にやっていくと重複が完全に取り除かれる。
そのあと、前から順に出力。
printfのフォーマット指定機能を使うと、簡単に問題にあった出力ができる。
コード
#include<bits/stdc++.h> using namespace std; int main(){ vector<int>V; int n; for(int i=0;i<2;i++){ scanf("%d",&n); while(n--){ int a,b; scanf("%d%d",&a,&b); V.push_back(a*60+b); } } sort(V.begin(),V.end()); V.erase(unique(V.begin(),V.end()),V.end()); for(int i=0;i<V.size();i++){ if(i)printf(" "); printf("%d:%02d",V[i]/60,V[i]%60); } puts(""); return 0; }