{"problem":{"name":"[HUSTFC 2023] 基因编辑","description":{"content":"绮月有 $n$ 条 DNA 碱基序列 $S_1,S_2,\\dots S_n$，每条碱基序列可以用一个仅包含 `A`、`C`、`G` 和 `T` 这四种大写字母的字符串表示。 绮月可以拼合两条 DNA 碱基序列，具体操作为将前一条碱基序列的一个前缀（可以为空）和后一条的一个后缀（可以为空）结合，如 `ACGC` 与 `CTAT` 拼合就有可能得到 `ACGCTAT`、`ACGCCTAT`、`ACA","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1500,"memory_limit":524288},"difficulty":{"LuoguStyle":"P5"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGP9778"},"statements":[{"statement_type":"Markdown","content":"绮月有 $n$ 条 DNA 碱基序列 $S_1,S_2,\\dots S_n$，每条碱基序列可以用一个仅包含 `A`、`C`、`G` 和 `T` 这四种大写字母的字符串表示。\n\n绮月可以拼合两条 DNA 碱基序列，具体操作为将前一条碱基序列的一个前缀（可以为空）和后一条的一个后缀（可以为空）结合，如 `ACGC` 与 `CTAT` 拼合就有可能得到 `ACGCTAT`、`ACGCCTAT`、`ACAT` 或 `T`。\n\n绮月据此定义，一个三元组 $(i,j,k)$ 是好的，当且仅当 $1\\le i,j,k \\le n$，$i\\ne k$，$j \\ne k$，且 $S_i$ 与 $S_j$ 拼合可以得到 $S_k$。\n\n绮月想知道好的三元组的数量。\n\n## Input\n\n第一行包含一个整数 $n\\ (3\\le n\\le 2\\times 10^5)$，表示碱基序列的数量。\n\n接下来 $n$ 行，每行包含一个字符串，其中第 $i$ 个字符串定义为碱基序列 $S_i\\ (1\\le |S_i|\\le 2\\times 10^6)$。保证 $\\sum |S_i| \\le 2 \\times 10^6$。\n\n## Output\n\n输出一个整数，表示好的三元组的数量。\n\n[samples]","is_translate":false,"language":"English"}],"meta":{"iden":"LGP9778","tags":["2023","O2优化","高校校赛"],"sample_group":[["3\nAAA\nAA\nAA\n","12"],["3\nACGC\nCTAT\nACAT\n","1"],["4\nA\nC\nT\nG\n","0"]],"created_at":"2026-03-03 11:09:25"}}