Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <string>
- #include <cstring>
- #include <algorithm>
- #include <vector>
- #include <cmath>
- #include <queue>
- using namespace std;
- const char* num2str(long long n)
- {
- int i, j = 0;
- char str[15];
- do{
- int k = n%10;
- str[j++] = (k+'0');
- n/=10;
- }while(n);
- str[j++] = ('0');
- str[j] = ('\0');
- reverse(str, str+j);
- return str;
- }
- int main()
- {
- //freopen("in.txt", "r", stdin);
- long long i, j, n, k, kase = 1;;
- vector<long long>v;
- char str[15];
- while(scanf("%lld", &n) && n){
- i = n;
- while(i--){
- scanf("%s", str);
- k = strtoll(str, NULL, 10);
- v.push_back(k);
- }
- //sort(v.begin(), v.end());
- //n = v.size();
- printf("Case %d:\n", kase++);
- int st, fn;
- for(i = 0; i < n; i++){
- st = v[i];
- while((i < n-1) && (v[i]+1 == v[i+1])){
- i++;
- }
- fn = v[i];
- if(st == fn){
- char s[15];
- strcpy(s, num2str(st));
- printf("%s\n", s);
- }
- else{
- char start[15], finish[15];
- strcpy(start, num2str(st));
- strcpy(finish, num2str(fn));
- j = 0;
- while(start[j] == finish[j])
- putchar(start[j++]);
- k = j;
- while(start[j] != '\0')
- putchar(start[j++]);
- putchar('-');
- while(finish[k] != '\0')
- putchar(finish[k++]);
- putchar('\n');
- }
- }
- printf("\n");
- v.clear();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement