PKU 1250 Tanning Salon
http://poj.org/problem?id=1250
n個のベッドがある日焼けサロンに人が来る。
それぞれの人は文字に対応しており、それぞれの人が来たり出たりする順番が与えられる。このとき、すでベッドが埋まっていれば人は使わずに出て行く。何人の人が出ていくかを答える問題。
最初意味の把握に手間取りました。PCKにありそうな感じの問題だと思いました。
main(){ int n; while(cin>>n,n){ string in; cin>>in; int ans=0; set<char> use,away; rep(i,in.size()){ if(use.count(in[i]))use.erase(in[i]); else if(away.count(in[i]))continue; else{ if(use.size()<n)use.insert(in[i]); else{ ++ans; away.insert(in[i]); } } } if(ans)cout<<ans<<" customer(s) walked away."<<endl; else cout<<"All customers tanned successfully."<<endl; } }