Advertisement
apl-mhd

UVA mobile Casanova2

Feb 7th, 2017
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.30 KB | None | 0 0
  1. #include <algorithm>
  2. #include <iostream>
  3. #include <vector>
  4. #include <cstdio>
  5. using namespace std;
  6.  
  7. int main(int argc, char **argv)
  8. {
  9.        
  10.     vector<int> phone;
  11.     vector<int> caseRemember;
  12.    
  13.     int i, number,start,count=0,n, loopSum=0, Case=1, caseRememberIndex=0,pos=0;
  14.     //unsigned int j;
  15.    
  16.     //cin>>n;
  17.    
  18.     while(cin>>n){
  19.        
  20.         loopSum +=n;
  21.        
  22.         if( n !=0){
  23.            
  24.             caseRemember.push_back(n); //case stored
  25.            
  26.             for(i=0; i<n; i++){
  27.        
  28.             cin>>number;
  29.        
  30.             phone.push_back(number);
  31.        
  32.         }
  33.     }  
  34.        
  35.     else{
  36.        
  37.     //printf("total case: %lu\n",caseRemember.size());
  38.        
  39.     //for(j=0; j<caseRemember.size(); j++){
  40.        
  41.         for(i = 0; i<loopSum; i++){
  42.            
  43.             if(phone[i] - phone[pos]== caseRemember[caseRememberIndex]-1){
  44.             //if(i == caseRemember[caseRememberIndex]-1 ){
  45.            
  46.                 printf("Case %d:\n", Case );
  47.                
  48.                 Case +=1;
  49.                 caseRememberIndex +=1;
  50.                 pos = i+1;
  51.             }
  52.             if(phone[i+1] - phone[i] ==1){
  53.                
  54.                
  55.                 count++;
  56.             }
  57.            
  58.            
  59.             else if(count > 0) {
  60.                
  61.                 start = i - count;
  62.                 printf("0%d-%d\n",phone[start],phone[start] + count);
  63.                
  64.                
  65.                 count = 0;
  66.                
  67.                 }
  68.                
  69.             else{
  70.                    
  71.                     printf("0%d\n",phone[i]);
  72.                
  73.                 }
  74.            
  75.            
  76.             }
  77.        
  78.         //} // outer for loop
  79.        
  80.    
  81.     break;
  82.    
  83.     } //end else
  84. }
  85.     return 0;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement