2208G 影子字符串
Source & Knowledge
2022年8月语言月赛,由洛谷网校入门计划/基础计划提供。
由 皎月半撒花 命题。
考察字符串的输入输出。
文字题解
题意简述
给出若干个字符串,若某个字符串是第一次出现,则输出。
问题分析
用 string 类型数组存储已经输入的字符串,需要另开一个变量统计已经输入的字符串个数。
对于每个新输入的字符串,枚举之前输入的所有字符串,如果都不同,则输出。
string s[600];
while(true) {
++cnt; cin >> s[cnt];
if(s[cnt] == "0") break;
bool occ = false;
for(int i = 1; i < cnt; i++) {
if(s[i] == s[cnt]) {
occ = true; break;
}
}
if(occ == false) cout << s[cnt];
}
当然,也可以使用 STL 中 map,set 等容器,亦可以使用字符串 Hash,字典树等算法或数据结构,由于是语言月赛,在这里不再赘述。