AOJ 1051 - Citation Format
書くだけ
#include<iostream> #include<vector> struct Pages{ int first, last; }; std::vector<Pages> v; void add(int n){ for(int i=0;i<v.size();i++){ Pages &p = v[i]; if(n == p.last + 1){ p.last = n; return; } } v.push_back({n, n}); return; } void print(Pages& p){ if(p.first == p.last) std::cout << p.first; else std::cout << p.first << "-" << p.last; } int main(){ int n; while(std::cin >> n, n){ v.clear(); while(n--){ int i; std::cin >> i; add(i); } print(v[0]); for(int i=1;i<v.size();i++){ std::cout << " "; print(v[i]); } std::cout << "\n"; } }