Advertisement
NAbdulla

Mobile Casanova

Aug 6th, 2015
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <string>
  4. #include <cstring>
  5. #include <algorithm>
  6. #include <vector>
  7. #include <cmath>
  8. #include <queue>
  9.  
  10. using namespace std;
  11.  
  12. const char* num2str(long long n)
  13. {
  14.     int i, j = 0;
  15.     char str[15];
  16.     do{
  17.         int k = n%10;
  18.         str[j++] = (k+'0');
  19.         n/=10;
  20.     }while(n);
  21.     str[j++] = ('0');
  22.     str[j] = ('\0');
  23.     reverse(str, str+j);
  24.     return str;
  25. }
  26.  
  27. int main()
  28. {
  29.     //freopen("in.txt", "r", stdin);
  30.     long long i, j, n, k, kase = 1;;
  31.     vector<long long>v;
  32.     char str[15];
  33.  
  34.     while(scanf("%lld", &n) && n){
  35.         i = n;
  36.         while(i--){
  37.             scanf("%s", str);
  38.             k = strtoll(str, NULL, 10);
  39.             v.push_back(k);
  40.         }
  41.         //sort(v.begin(), v.end());
  42.         //n = v.size();
  43.         printf("Case %d:\n", kase++);
  44.         int st, fn;
  45.         for(i = 0; i < n; i++){
  46.             st = v[i];
  47.             while((i < n-1) && (v[i]+1 == v[i+1])){
  48.                 i++;
  49.             }
  50.             fn = v[i];
  51.             if(st == fn){
  52.                 char s[15];
  53.                 strcpy(s, num2str(st));
  54.                 printf("%s\n", s);
  55.             }
  56.             else{
  57.                 char start[15], finish[15];
  58.                 strcpy(start, num2str(st));
  59.                 strcpy(finish, num2str(fn));
  60.  
  61.                 j = 0;
  62.                 while(start[j] == finish[j])
  63.                     putchar(start[j++]);
  64.  
  65.                 k = j;
  66.                 while(start[j] != '\0')
  67.                     putchar(start[j++]);
  68.  
  69.                 putchar('-');
  70.  
  71.                 while(finish[k] != '\0')
  72.                     putchar(finish[k++]);
  73.  
  74.                 putchar('\n');
  75.             }
  76.         }
  77.         printf("\n");
  78.         v.clear();
  79.     }
  80.     return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement