200DProgramming Language纯模拟

CodeForces – 200D

Programming Language

Time Limit:2000MSMemory Limit:262144KB64bit IO Format:%I64d & %I64u

Submit

Description

Recently, Valery have come across an entirely new programming language. Most of all the language attracted him with template functions and procedures. Let us remind you that templates are tools of a language, designed to encode generic algorithms, without reference to some parameters (e.g., data types, buffer sizes, default values).

Valery decided to examine template procedures in this language in more detail. The description of a template procedure consists of the procedure name and the list of its parameter types. The generic typeTparameters can be used as parameters of template procedures.

A procedure call consists of a procedure name and a list of variable parameters. Let’s call a proceduresuitablefor this call if the following conditions are fulfilled:

its name equals to the name of the called procedure;the number of its parameters equals to the number of parameters of the procedure call;the types of variables in the procedure call match the corresponding types of its parameters. The variable type matches the type of a parameter if the parameter has a generic typeTor the type of the variable and the parameter are the same.

You are given a description of some set of template procedures. You are also given a list of variables used in the program, as well as direct procedure calls that use the described variables. For each call you need to count the number of procedures that are suitable for this call.

Input

The first line contains a single integern(1≤n≤1000) — the number of template procedures. The nextnlines contain the description of the procedures specified in the following format:

"void procedureName (type_1, type_2, …, type_t)" (1≤t≤5), wherevoidis the keyword,procedureNameis the procedure name,type_iis the type of the next parameter. Types of language parameters can be "int", "string", "double", and the keyword "T", which denotes the generic type.

The next line contains a single integerm(1≤m≤1000) — the number of used variables. Nextmlines specify the description of the variables in the following format:

"type variableName", wheretypeis the type of variable that can take values "int", "string", "double",variableName— the name of the variable.

The next line contains a single integerk(1≤k≤1000) — the number of procedure calls. Nextklines specify the procedure calls in the following format:

"procedureName (var_1, var_2, …, var_t)"(1≤t≤5), whereprocedureNameis the name of the procedure,var_iis the name of a variable.

The lines describing the variables, template procedures and their calls may contain spaces at the beginning of the line and at the end of the line, before and after the brackets and commas. Spaces may be before and after keywordvoid. The length of each input line does not exceed100characters. The names of variables and procedures are non-empty strings of lowercase English letters and numbers with lengths of not more than10characters. Note that this is the only condition at the names. Only the specified variables are used in procedure calls. The names of the variables are distinct. No two procedures are the same. Two procedures are the same, if they have identical names and identical ordered sets of types of their parameters.

Output

On each ofklines print a single number, where thei-th number stands for the number of suitable template procedures for thei-th call.

Sample Input

Input

4void f(int,T)void f(T, T) void foo123 ( int, double, string,string ) void p(T,double)3int a string sdouble x123 5f(a, a) f(s,a )foo (a,s,s) f ( s ,x123)proc(a)

Output

21010

Input

6void f(string,double,int)void f(int) void f ( T )void procedure(int,double)void f (T, double,int) void f(string, T,T)4 int a int xstring tdouble val 5f(t, a, a)f(t,val,a)f(val,a, val) solve300(val, val)f (x)

Output

13002

Source

Codeforces Round #126 (Div. 2)

这道题目首先告诉大家,要有耐心

现在说一下我解题思路,可能麻烦,,如果有大神飘过,求指点

先将void f(int , T)变为voidf(int,T)将所有的空格都去掉,然后将字符串的前面四个去掉因为void不是函数名,在'(‘左边就是函数名。

接着其他的处理也是类似的模拟

而消极的人则在每个机会都看到某种忧患。

200DProgramming Language纯模拟

相关文章:

你感兴趣的文章:

标签云: