[洛谷]P 1738洛谷のフォルダ(#STL)
タイトルの説明
kkksc 03は非凡な空想家です!短時間で多くのページを想定し、かわいそうなlznに任せて実現した.
洛谷のページ端には、フォルダがたくさんあり、フォルダにはフォルダがセットされています.
たとえば、/luogu/アプリケーション/controllerは、ルートディレクトリの下にluoguという名前のフォルダがあり、このフォルダの下にアプリケーションという名前のフォルダがあり、controllerという名前のフォルダもあります.
各パスの1番目の文字は常に'/'であり、2つの連続した'/'はなく、最後の文字は'/'ではありません.すべての名前には、数字と小文字のみが含まれます.
現在、ルートディレクトリは空です.kkksc 03は、あるべきフォルダパス名をたくさん考えました.問題は、これらのフォルダをすべて存在させるには、いくつかのフォルダを新規作成する必要がありますか?
入力フォーマット
ファイル1行目の正の整数Nを入力します.
次のN行は、行ごとにパスを記述する文字列であり、長さは100を超えない.
出力フォーマット
出力にはN行が含まれ、行ごとに正の整数が1つ、i行目の出力は1番目のパスからi番目のパスを存在させるには、少なくとも何個のフォルダを新規作成する必要があります.
入出力サンプル
入力#1コピー
出力#1コピー
入力#2コピー
出力#2コピー
入力#3コピー
出力#3コピー
説明/ヒント
データ規模:
すべてのデータについて、N<=1000.
20%のデータに対して、N<=20がある.
50%のデータに対して、N<=200がある.
30%のデータについては、すべてのパスに対して最大2つの'/'(1文字目を含む)が存在します.
構想
フォルダ名が重複する可能性があるのでsetでできます.
kkksc 03は非凡な空想家です!短時間で多くのページを想定し、かわいそうなlznに任せて実現した.
洛谷のページ端には、フォルダがたくさんあり、フォルダにはフォルダがセットされています.
たとえば、/luogu/アプリケーション/controllerは、ルートディレクトリの下にluoguという名前のフォルダがあり、このフォルダの下にアプリケーションという名前のフォルダがあり、controllerという名前のフォルダもあります.
各パスの1番目の文字は常に'/'であり、2つの連続した'/'はなく、最後の文字は'/'ではありません.すべての名前には、数字と小文字のみが含まれます.
現在、ルートディレクトリは空です.kkksc 03は、あるべきフォルダパス名をたくさん考えました.問題は、これらのフォルダをすべて存在させるには、いくつかのフォルダを新規作成する必要がありますか?
入力フォーマット
ファイル1行目の正の整数Nを入力します.
次のN行は、行ごとにパスを記述する文字列であり、長さは100を超えない.
出力フォーマット
出力にはN行が含まれ、行ごとに正の整数が1つ、i行目の出力は1番目のパスからi番目のパスを存在させるには、少なくとも何個のフォルダを新規作成する必要があります.
入出力サンプル
入力#1コピー
2
/luogu/application/controller
/luogu/application/view
出力#1コピー
3
4
入力#2コピー
3
/chicken
/chicken/egg
/chicken
出力#2コピー
1
2
2
入力#3コピー
4
/a
/a/b
/a/c
/b/b
出力#3コピー
1
2
3
5
説明/ヒント
データ規模:
すべてのデータについて、N<=1000.
20%のデータに対して、N<=20がある.
50%のデータに対して、N<=200がある.
30%のデータについては、すべてのパスに対して最大2つの'/'(1文字目を含む)が存在します.
構想
フォルダ名が重複する可能性があるのでsetでできます.
#include
#include
#include
#include
using namespace std;
set st[51];
string a,b;
int n,s;
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
register int i,j;
cin>>n;
for(i=0;i>a;
int cnt(0);
b="";
for(j=1;j