Advertisement
juanjo12x

UVA_584_Bowling

Aug 5th, 2014
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <stdio.h>
  4. #include <algorithm>
  5. #include <cstring>
  6. #include <iostream>
  7. #include <cstdio>
  8. #include <algorithm>
  9. #include <cstring>
  10. #include <string>
  11. #include <cctype>
  12. #include <stack>
  13. #include <queue>
  14. #include <list>
  15. #include <vector>
  16. #include <map>
  17. #include <set>
  18. #include <sstream>
  19. #include <stdlib.h>
  20. #include <cmath>
  21. #define LL unsigned long long
  22. using namespace std;
  23.  
  24. int cont;
  25. int sacar_score(char  c){
  26.     switch(c){
  27.         case '/': return 10;
  28.         case 'X': return 10;
  29.         default: return (c-'0');
  30.     }
  31. }
  32. int main() {
  33.     char arr[100];
  34.     int index;int aux;
  35.     int score;
  36.     while(gets(arr)){
  37.         score=0;
  38.         cont=1;index=0;
  39.         if(strcmp(arr,"Game Over")==0) break;
  40.         while(cont<=10){
  41.             aux=0;
  42.             for(int i=0;i<2;i++){
  43.                 if (isdigit(arr[index])){
  44.                     aux+=(arr[index]-'0');index=index+2;
  45.                 }else if(arr[index]=='/'){
  46.                     aux=sacar_score(arr[index+2]);
  47.                     if(score+10+aux<=300) score=10+score+aux;
  48.                     index=index+2;cont++;break;
  49.                 }else if(arr[index]=='X'){
  50.                     if(arr[index+4]=='/'){
  51.                         if(score+20<=300)score+=20;
  52.                         index+=2;cont++;break;
  53.                     }
  54.                     else{
  55.                         aux=score + 10 + sacar_score(arr[index+2]) + sacar_score(arr[index+4]);
  56.                         if(aux<=300) score=aux;
  57.                        
  58.                         index+=2;
  59.                         cont++;break;
  60.                     }
  61.                 }
  62.                 if(i==1){if(score+aux<=300)score+=aux;cont++;break;}
  63.             }
  64.         }
  65.         printf("%d\n",score);
  66.     }
  67.     return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement