poj 1250 Tanning Salon(基礎題)模擬

題意:給出房間數n,和客人的來去順序,求沒有入住的客人數目。

代碼如下:

#include<iostream>
using namespace std;
const int MAX=60;


int main()
{
	int n,i,id,ans;        //id是把代表客人的字母換成int型的值。
	char str[MAX];         
	bool vis[MAX],tan[MAX];//vis代表客人的來和去。tan代表客房是否被利用。
	while(cin>>n && n)
	{
		memset(vis,0,sizeof(vis));
		memset(tan,0,sizeof(tan));
		cin>>str;
		ans=0;
		for(i=0;i<strlen(str);i++)
		{
			id=str[i]-'A';
			if(!vis[id])
			{
				vis[id]=true;
				if(n>0)
				{
					n--;
					tan[id]=true;
				}
				else
					ans++;
			}
			else
			{
				if(tan[id]) n++;  //客人退房了。所以可以利用的客房數加1.呵呵
			}
		}
		if(ans==0)
			printf("All customers tanned successfully.\n");
		else
			printf("%d customer(s) walked away.\n",ans);
	}
	return 0;
}


 

發佈了40 篇原創文章 · 獲贊 7 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章