// Output a spiked skyline of N buildings. #include #include bool read_int(char const * arg, int & v) { std::stringstream ss; ss << arg; ss >> v; return ss; } int main(int argc, char * argv[]) { int errors = 0; int N = -1; if (argc != 2 || !read_int(argv[1], N) || N < 0) { ++errors; std::cerr << "Usage: " << argv[0] << " N"; } else { int const H = 100000000; int const M = (N + 1) / 2; int const h_step = 2 * H / (N + 1); int h = 0, i = 0; std::cout << N << '\n'; for (; i != M; i++) { std::cout << "1000 " << (h += h_step) << " "; } for (; i != N; i++) { std::cout << "1000 " << (h -= h_step) << " "; } std::cout << '\n'; } return errors; }