#include<bits/stdc++.h>
using namespace std;
const int N = 30;
bool o1[N], o2[N]; //o2为有参数选项,o1为无参数选项
string ans[N];
int main() {
string str;
cin >> str;
for (int i = 0; i < str.size(); i++) {
if (i + 1 < str.size() && str[i + 1] == ':') {
o2[str[i] - 'a'] = true;
i++;
} else o1[str[i] - 'a'] = true;
}
int n;
cin >> n;
getchar();// 将n后面的回车过滤掉
for (int i = 1; i <= n; i++) {
getline(cin, str);
printf("Case %d:", i);
stringstream ssin(str);
vector<string>ops;
while (ssin >> str) ops.push_back(str);
for (int j = 0; j < 26; j++) ans[j].clear();
for (int j = 1; j < ops.size(); j++) {
if (ops[j][0] != '-' || ops[j][1] < 'a' || ops[j].size() != 2) break;
int k = ops[j][1] - 'a';
if (o1[k]) ans[k] = '*';
else if (o2[k] && j + 1 < ops.size()) {
ans[k] = ops[j + 1];
j++;
}
else {
break;
}
}
for (int j = 0; j < 26; j++) {
if (ans[j].size()) {
cout<<" -"<<(char)(j+'a');
if(o2[j]) {
cout<<" "<<ans[j];
}
}
}
cout<<endl;
}
return 0;
}
命令行选项
最新推荐文章于 2022-10-21 22:04:07 发布