1b.c (515B)
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 #define ABS(n) ((n < 0) ? -n : n) 5 6 int 7 rotate(int pos, int dis, int *zeros) { 8 int dir = (dis < 0) ? -1 : 1; 9 10 for (int i = 0; i < ABS(dis); i++) { 11 pos += dir; 12 if (pos > 99) pos = 0; 13 if (pos < 0) pos = 99; 14 if (pos == 0) (*zeros)++; 15 } 16 return pos; 17 } 18 19 int 20 main() { 21 char line[20]; 22 int pos = 50, off = 0, zeros = 0; 23 24 while (fgets(line, 20, stdin)) { 25 off = atoi(line + 1) * ((line[0] == 'L') ? -1 : 1); 26 pos = rotate(pos, off, &zeros); 27 } 28 29 printf("%d\n", zeros); 30 }