1250.txt

来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 92 行

TXT
92
字号

#define debug 0
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

#define INF 30000

#if debug
    #define NMAX 10
#else
    #define NMAX 20
#endif
int bed;
char flag[NMAX];
char str[100];
int cno[256];
char cur;
void solve()
{
	int ed=0,total=0,i,j;
	scanf("%s",str);
	int len=strlen(str);
	for(i=0;i<len;i++)
	{
		cur=str[i];
		if(cno[cur]==-2)
			continue;
		if(cno[cur]!=-1)
		{
			flag[cno[cur]]=0;
			cno[cur]=-2;
		}
		else
		{
			ed=0;
			for(j=0;j<bed;j++)
			{
				if(!flag[j])
				{
					cno[cur]=j;
					flag[j]=1;
					ed=1;
					break;
				}
			}
			if(!ed)
			{
				total++;
				cno[cur]=-2;
			}
		}
	}
	if(total)
	{
		printf("%d customer(s) walked away.\n",total);
	}
	else
		printf("All customers tanned successfully.\n");

}

int main()
{

#if debug 	
	freopen("in.txt","r",stdin);
	freopen("out.txt","w",stdout);
#endif
	int i;
	scanf("%d ",&bed);
	while(bed)
	{
		for(i=0;i<NMAX;i++)
			flag[i]=0;
		for(i=0;i<256;i++)
			cno[i]=-1;
		solve();
		scanf("%d ",&bed);
	}
	
#if debug
	fclose(stdin);
	fclose(stdout);
#endif
	return 1;
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?