Advertisement
Infernale

Tiles

Dec 1st, 2018
451
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.80 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. int count, now, n, m;
  4. char in[101];
  5.  
  6. void findBlock(){
  7.     for(int i=0;i<strlen(in);i++){
  8.         if(in[i]=='|'){
  9.             now = i;
  10.             count++;
  11.             return;
  12.         }
  13.         if(in[i]=='/'){
  14.             (i-1<0?now=0:now=i-1);
  15.             count++;
  16.             return;
  17.         }
  18.         if(in[i]=='\\'){
  19.             (i+1>m-1?now=m-1:now=i+1);
  20.             count++;
  21.             return;
  22.         }
  23.     }
  24.     now = 101;
  25. }
  26.  
  27. int main(){
  28.     int tc;
  29.     scanf("%d",&tc);
  30.     for(int i=1;i<=tc;i++){
  31.         count = 0, now = 101;
  32.         scanf("%d %d",&n,&m);
  33.         scanf("%s",in);
  34.         findBlock();
  35.         for(int j=1;j<n;j++){
  36.             if(in[now]!='.' && now!=101){
  37.                 if(in[now]=='\\')(now+1>m-1?now:now++);
  38.                 if(in[now]=='/')(now-1<0?now:now--);
  39.             }
  40.             scanf("%s", in);
  41.             if(in[now]=='.' || now == 101){
  42.                 findBlock();
  43.             }
  44.         }
  45.         printf("Case #%d: %d\n",i,count);
  46.     }
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement