P2373 yyy2015c01的IDE之Call Stack

    • 22通过
    • 84提交
  • 题目提供者 Ufowoqqqo
  • 评测方式 云端评测
  • 标签 字符串 搜索 模拟 洛谷原创
  • 难度 普及-
  • 时空限制 1000ms / 128MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 最新讨论 显示

    推荐的相关题目 显示

    题目背景

    在2020年的某一天,我们的yyy2015c01同学想要开发一套IDE。

    题目描述

    作为他开发团队中的一员,你不幸地yyy2015c01被选入了Debugger的开发组。

    yyy2015c01设想的Debugger由几部分组成,其中的一个小组件就是Call Stack——中文称之为“调用栈”。

    由于IDE目前还是内测版,开发组需要先编一个能识别参数表的Call Stack来看看效果如何。这个任务交由你来完成。

    开发组假想的Call Stack能实现识别int和char参数表,以辨别出不同的函数,规则是:

    int fac1(int n);

    int fac1(char n);

    是两个不同的函数;但

    int Fac1(int n,int m);

    int FAC1(int x,int y);

    被认为是相同的函数。也就是说,这个Call Stack认的不是参数名,而是其类型和忽略大小写的函数名。

    注意:int main()可能会出现,也可能不出现;无论它有没有出现,都不能将其算入函数中。

    请你编写一个Call Stack,并在所有函数调用完后输出这个程序一共有多少个不完全相同的函数(保证程序中的每个函数至少调用一次)。

    输入输出格式

    输入格式:

    输入共n+1行:第一行是一个正整数n,表示共有n次调用操作;第2~n+1行每行是一条函数调用信息(严格按照样例输入的格式),保证不会有多余的其他字符。

    输出格式:

    输出共1行:一个正整数m,表示在上述调用中共有多少个参数表不完全相同的函数。

    输入输出样例

    输入样例#1: 复制
    2
    FAC1 (N=233, M=65 'A', A=0)
    main ()
    输出样例#1: 复制
    1
    输入样例#2: 复制
    2
    fac1 (N=250)
    FAC1 (a=987)
    输出样例#2: 复制
    1

    说明

    每个函数的参数最多有10个,每行的输入数据长度均不超过255。

    向本题主人公yyy2015c01同学致敬!

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。