Description
Input
Output
Sample Input
2 ABBAJJKZKZ 3 GACCBDDBAGEE 3 GACCBGDDBAEE 1 ABCBCA 0
Sample Output
All customers tanned successfully. 1 customer(s) walked away. All customers tanned successfully. 2 customer(s) walked away.
题意:有n个位置,每个字母第一次出现代表客人的进来,第二次出现代表离开 统计流失了几个客户
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
char s[100005];
int main()
{
int n;
while(~scanf("%d",&n),n)
{
int l=0,i,j,flag,len;
scanf("%s",s);
len = strlen(s);
char z[25];//Z数组存床是否有人
memset(z,‘#‘,sizeof(z));
for(i=0; i<len; i++)
{
flag=0;//flag=0表示进入
for(j=1; j<=n; j++) //离开后位置清空
if(z[j]==s[i])
{
z[j]=‘#‘;
flag=1;
break;
}
if(flag==0)
for(j=1; j<=n; j++) //有空位置就让顾客进去
if(z[j]==‘#‘)
{
z[j]=s[i];
break;
}
if(j>n)//没有空位置流失人数加一
l++;
}
if(l==0)
printf("All customers tanned successfully.\n");
else
printf("%d customer(s) walked away.\n",l/2);
}
return 0;
}
POJ1250:Tanning Salon,布布扣,bubuko.com
原文:http://blog.csdn.net/libin56842/article/details/20238601