AOJ > vol25 > 2515

AOJ - 2515 : Seishun 18 Kippu 2013 (青春18きっぷ 2013)

問題概要

日本語なので、こちらを参照してください。
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2515

解法

単純にループしてやるだけで間に合います。

その他

会津合宿2013のときの、自作問題です。

ソースコード

  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. int toInt(string s){
  6. int h = (s[0] - '0') * 10 + (s[1] - '0');
  7. int m = (s[3] - '0') * 10 + (s[4] - '0');
  8. return h * 60 + m;
  9. }
  10.  
  11. int main(){
  12. int n, m;
  13. int st_time[12], ar_time[12];
  14. string st_name[12], ar_name[12];
  15.  
  16. while(cin >> n >> m){
  17. for(int i = 0; i < n; i++){
  18. string s;
  19. cin >> s;
  20. st_time[i] = toInt(s);
  21. cin >> st_name[i];
  22.  
  23. cin >> s;
  24. ar_time[i] = toInt(s);
  25. cin >> ar_name[i];
  26. }
  27.  
  28. vector<string> ans;
  29. vector<int> ansTime;
  30.  
  31. for(int i = 1; i < n; i++){
  32. if(st_time[i] - ar_time[i - 1] >= m){
  33. ans.push_back(st_name[i]);
  34. ansTime.push_back(st_time[i] - ar_time[i - 1]);
  35. }
  36. }
  37.  
  38. cout << ans.size() << endl;
  39.  
  40. for(int i = 0; i < ans.size(); i++){
  41. cout << ans[i] << " " << ansTime[i] << endl;
  42. }
  43. }
  44. }
最終更新:2013年11月01日 21:53