建立OJ (build.cpp/c/pas)

建立OJ (build.cpp/c/pas)

【问题描述】
最近SZ的OIer有一个很头疼的问题:各大Online Judge系统的功能各不相同,但没有一个OJ系统完全符合他们的要求。于是他们找到了学长CSQ来帮忙建立一个属于他们自己的OJ。可是学长CSQ有一个奇怪的要求,他希望在Linux下建立OJ系统之前了解到他一共要创建多少个文件夹。
在即将构建OJ的Linux系统下可以用路径来描述文件夹,路径为一个包含若干部分的字符串,之间用“/”(不含引号)分隔。每部分均为一个文件夹的名称,且表示这个文件夹的父文件夹为前一部分描述的文件夹。每个路径的第1个字符总是“/”,且不会出现两个连续的“/”,最后一个字符不会是“/”。而所有文件夹仅包含数字和字母。
例如:/home/fj/summer表示根目录下有一个名称为home的文件夹,这个 home文件夹下有一个名称fj的文件夹,这个名称为fj的文件夹下有一个名称为summer的文件夹。此时要构造出这样的路径关系,除根目录外还需要3个文件夹。
现在先给 N个路径,一开始除了根目录不存在任何文件夹,在每给出一个路径后,对于第i个路径,你需要输出的是若要让第1个路径到第i个路径存在,最少需要新建多少个文件夹。

【输入格式】
输入文件第 1 行为一个正整数N。
接下来N行,每行为一个描述路径的字符串,长度均不超过100。

【输出格式】
输出应包含N行,每行1个正整数,第i行输出若要使第1个路径到第i个路径存在,最少需要新建多少个文件夹。
【输入输出样例】
build.in

6

/std

/std/csq

/std/zld

/std/csq

/csq/csq

/std

build.out
1
2
3
3
5
5
【数据规模】
对于30%的数据,1≤N≤20。
对于50%的数据,1≤N≤200。
对于100%的数据,1≤N≤1000。