Start: Dec, 04, 2016 12:00:00
杭州师范大学第十届程序设计竞赛—正式
End: Dec, 04, 2016 17:00:00
Time elapsed:
Time remaining:

Problem_ID: D
Result: Accepted
Time: 1ms
Memory: 1704kB
In contest: 1075

#include<iostream>
#include<cmath>
#include<vector>
#include<queue>
#include<stack>
#include<algorithm>
#include<string>
using namespace std;
struct people
{
	string name;
	int coffee;
	int game;
	int keyboard;
};
vector<people>all_list;
vector<people>coffee;
vector<people>game;
vector<people>keyboard;
int main()
{
	int total_num;
	cin>>total_num;
	for(int i=0;i<total_num;i++)
	{
		people temp;
		int num;
		cin>>num>>temp.name;
		temp.coffee=0;
		temp.game=0;
		temp.keyboard=0;
		for(int i=0;i<num;i++)
		{
			string phone_num;
			cin>>phone_num;
			int flag=0;
			char former=phone_num[0];
			//keyboard
			for(int i=1;i<phone_num.size();i++)
			{
				if(phone_num[i]>='0'&&phone_num[i]<='9')
				{
					if(phone_num[i]!=former)
					{
						flag=1;
						break;
					}
					former=phone_num[i];
				}
			}
			if(!flag)
			{
				temp.keyboard++;
				continue;
			}
			//game
			flag=0;
			former=phone_num[0];
			for(int i=1;i<phone_num.size();i++)
			{
				if(phone_num[i]>='0'&&phone_num[i]<='9')
				{
					if(phone_num[i]>=former)
					{
						flag=1;
						break;
					}
					former=phone_num[i];
				}
			}
			if(!flag)
			{
				temp.game++;
				continue;
			}
			//coffee
			temp.coffee++;
		}
		all_list.push_back(temp);
	}

	//sort
	int coffee_max=0,game_max=0,keyboard_max=0;
	for(int i=0;i<all_list.size();i++)
	{
		if(all_list[i].coffee>=coffee_max)
		{
			if(all_list[i].coffee==coffee_max)
			{
				coffee.push_back(all_list[i]);
			}
			else
			{
				coffee.clear();
				coffee.push_back(all_list[i]);
				coffee_max=all_list[i].coffee;
			}
		}

		if(all_list[i].game>=game_max)
		{
			if(all_list[i].game==game_max)
			{
				game.push_back(all_list[i]);
			}
			else
			{
				game.clear();
				game.push_back(all_list[i]);
				game_max=all_list[i].game;
			}
		}

		if(all_list[i].keyboard>=keyboard_max)
		{
			if(all_list[i].keyboard==keyboard_max)
			{
				keyboard.push_back(all_list[i]);
			}
			else
			{
				keyboard.clear();
				keyboard.push_back(all_list[i]);
				keyboard_max=all_list[i].keyboard;
			}
		}
	}
	cout<<"If you want to have a keyboard, you should call: ";
	for(int i=0;i<keyboard.size()-1;i++)
	{
		cout<<keyboard[i].name<<", ";
	}
	cout<<keyboard[keyboard.size()-1].name<<"."<<endl;

	cout<<"If you want to order a Watchdog2, you should call: ";
	for(int i=0;i<game.size()-1;i++)
	{
		cout<<game[i].name<<", ";
	}
	cout<<game[game.size()-1].name<<"."<<endl;

	cout<<"If you want to have a cup of coffee with a girl, you should call: ";
	for(int i=0;i<coffee.size()-1;i++)
	{
		cout<<coffee[i].name<<", ";
	}
	cout<<coffee[coffee.size()-1].name<<"."<<endl;

}