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 + -
显示快捷键?