#include<stdio.h> #include<stdlib.h> #include<string.h> #include<algorithm> #define M 100003 int n,s1,L1,f; char str[100000],ch[27]; int main() { int i; while(scanf("%d %s",&n,str)!=EOF&&n) { memset(ch,0,sizeof(ch)); s1=0; L1=strlen(str); for(i=0;i<L1;i++) { if(ch[str[i]-'A'+1]==0&&n>0) //ch[i]该数组的下标与大写的26个字母一一对应,用来记录每位游客来去的状态 { ch[str[i]-'A'+1]=1; //ch[i]从0变到1说明该游客刚来,并且有座位 n--; } else if(ch[str[i]-'A'+1]==0&&n==0) { s1++; ch[str[i]-'A'+1]=2; //ch[i]从0变到2说明该游客刚来,但没座位 } else if(ch[str[i]-'A'+1]==1) { //ch[i]从1变到0说明该有座位的游客要离开 ch[str[i]-'A'+1]=0; n++; } } if(s1)printf("%d customer(s) walked away.\n",s1); else printf("All customers tanned successfully.\n"); } system("pause"); return 0; }
poj 1250
最新推荐文章于 2020-08-27 18:39:06 发布