首页 > 学院 > 开发设计 > 正文

poj1250

2019-11-11 01:52:43
字体:
来源:转载
供稿:网友

题目大意:

和zoj1405是同一道题。 Tan Your Hide, Inc., 拥有几个硬币操作的tanning沙龙。研究显示如果一个顾客到达没有座位,顾客将会离开,因此公司损失。你的任务是写一个程序算出多少顾客因为没有tanning而离开。 输入包括N,表示沙龙的个数。接下来是一系列大写字母,成对出现。字母第一次出现表示顾客到来,第二次出现表示顾客离开

解题思路:

模拟顾客进店过程就行了

代码如下:

#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>int main(){ int n,i,num,leave,max; char str[20000]; int letter[30]; while(scanf("%d",&n)!=EOF&&n) { num=leave=max=0; getchar(); gets(str); for(i=0;i<30;i++) { letter[i]=0; } for(i=0;i<strlen(str);i++) { if(letter[str[i]-'A']==0) { letter[str[i]-'A']=1; num++; if(num>n) { leave++; } } else if(letter[str[i]-'A']==1) { letter[str[i]-'A']=0; num--; } } if(leave==0) { PRintf("All customers tanned successfully./n"); } else { printf("%d customer(s) walked away./n",leave); } } return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表