救济金发放(The Dole Queue, UVa 133)

发布时间 2023-10-21 20:55:55作者: 门三哈哈
#include<stdio.h>
#include<string.h>
#define maxn 100
int n,k,m,a[25];
int left, chance;
int win, lose;
char s[maxn], s2[maxn];    
int go(int p, int d, int t) {
  while(t--) {
    do {
        p = (p+d+n-1) % n + 1;//将顺时针与逆时针合并,顺时针向前一个是(p+n)%n+1 逆时针向前一个可以看作(p+n-2)%n+1 相当于顺时针走n-1个
    }
    while(a[p] == 0); //走到下一个非0数字
  }
  return p;
}


int main() {
  int rnd;
  while(scanf("%d%s%s", &rnd, s, s2) == 3 && rnd != -1) {
    printf("Round %d\n", rnd);
    win = lose = 0;                     //求解一组新数据之前要初始化
    left = strlen(s);
    chance = 7;
    for(int i = 0; i < strlen(s2); i++) {
      guess(s2[i]);                     //猜一个字母
      if(win || lose) break;            //检查状态
    }
    //根据结果进行输出
    if(win) printf("You win.\n");
    else if(lose) printf("You lose.\n");
    else printf("You chickened out.\n");
  }
  return 0;
}