{"raw_statement":[{"iden":"background","content":"C++ 的 string 类是一个功能强大的字符串类，然而由于其字符串算法和内存管理绑定的机制，所以在处理 C 风格字符串时效率低下。\n\n为了解决这个问题，C++17 标准引入了 string\\_view 类型，将内存管理和字符串算法分离，从而更好地适配了 C 风格字符串的处理。"},{"iden":"statement","content":"你需要模拟一个简单的 C++ 程序，该程序的每一行必然为如下两种形式之一：\n\n- `string <variable-name>(<initializer>);`\n- `string_view <variable-name>(<initializer>);`\n\n其中 `variable-name` 为声明的变量名（保证之前未出现过，且长度不超过 $10$），`initializer` 为初始化该变量的内容，可以是：\n\n- 字符串字面量，即用双引号引起的字符串（形如 `\"abc\"`）；\n- 之前出现过的变量名 `source`，此时应将 `source` 对应的字符串赋给 `variable-name`。\n\n具体而言，将任意一个字符串 $s$ 赋给 string 类型会进行 $|s|$ 次字符拷贝，而赋给 string\\_view 类型不会拷贝字符。其中 $|s|$ 为字符串 $s$ 的长度。\n\n你需要计算出该程序中字符拷贝的总次数。"},{"iden":"input","content":"第一行输入一个整数 $L$，代表程序行数。\n\n接下来 $L$ 行，输入一段代码。"},{"iden":"output","content":"输出一个整数，代表字符拷贝总次数。"},{"iden":"note","content":"  对于每组数据，保证代码长度均不超过 $10^4$（不包括换行符）。\n\n保证字符串字面量（除去两侧引号）和变量名中只有拉丁字母，且给定的代码严格满足题目要求。\n\n### 子任务\n\n|  #   |            特殊性质            | 分值 |\n| :--: | :----------------------------: | :--: |\n|  0   |              样例              | 0  |\n|  1   | 所有变量均为 string\\_view 类型 | 10 |\n|  2   |    只使用字符串字面量初始化    | 20 |\n|  3   |               -                | 70 |\n\n---\n\n好消息：GCC 9.3.0 支持 string_view。\n\n坏消息：NOI 不开 C++17。"}],"translated_statement":null,"sample_group":[["6\nstring a(\"cxyakioi\");\nstring_view b(\"cxyakapio\");\nstring c(b);\nstring_view d(a);\nstring_view cxyakioi(c);\nstring cxyakapio(d);","25"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}