2017 JUST Programming Contest 3.0 E. The Architect Omar

E. The Architect Omar
time limit per test
1.0 s
memory limit per test
256 MB
input
standard input
output
standard output

Architect Omar is responsible for furnishing the new apartments after completion of its construction. Omar has a set of living room furniture, a set of kitchen furniture, and a set of bedroom furniture, from different manufacturers.

In order to furnish an apartment, Omar needs a living room furniture, a kitchen furniture, and two bedroom furniture, regardless the manufacturer company.

You are given a list of furniture Omar owns, your task is to find the maximum number of apartments that can be furnished by Omar.

Input

The first line contains an integer T (1 ≤ T ≤ 100), where T is the number of test cases.

The first line of each test case contains an integer n (1 ≤ n ≤ 1000), where n is the number of available furniture from all types. Then nlines follow, each line contains a string s representing the name of a furniture.

Each string s begins with the furniture's type, then followed by the manufacturer's name. The furniture's type can be:

  • bed, which means that the furniture's type is bedroom.
  • kitchen, which means that the furniture's type is kitchen.
  • living, which means that the furniture's type is living room.

All strings are non-empty consisting of lowercase and uppercase English letters, and digits. The length of each of these strings does not exceed 50 characters.

Output

For each test case, print a single integer that represents the maximum number of apartments that can be furnished by Omar

Example
input
1
6
bedXs
kitchenSS1
kitchen2
bedXs
living12
livingh
output
1

#include <iostream>
#include<string>
#include<math.h>
#include<algorithm>
#include<string.h>
using namespace std;
const int maxn=1010;
//int b[maxn],k[maxn],l[maxn];
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        int b=0,l=0,k=0;
        cin>>n;
        string str;
        while(n--)
        {
            cin>>str;
            if(str[0]=='b')
            {
                b++;
            }
            else if(str[0]=='k')
            {
                k++;
            }
            else
            {
                l++;
            }
        }
        int b1=b/2;
        int tmp=b1;
        tmp=min(tmp,k);
        tmp=min(tmp,l);
        cout<<tmp<<endl;
    }
    return 0;
}





posted @ 2017-10-07 21:11  Bryce1010  阅读(103)  评论(0编辑  收藏  举报