社区讨论
0分求助
P2814家谱参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo7xrefp
- 此快照首次捕获于
- 2023/10/27 09:29 2 年前
- 此快照最后确认于
- 2023/10/27 09:29 2 年前
代码如下,样例过了,提交上去全WA
CPP#pragma warning(disable:4703)
#include<iostream>
#define N 50005
using namespace std;
struct node {
string name;
node* f;
};
node* m[N];
int l = 0;
string input() {
char c;
string res = "";
c = getchar();
while (c != '\n') {
res += c;
c = getchar();
}
return res;
}
node* find(string x) {
for (int i = 1; i <= l; ++i) {
if (m[i]->name == x) {
return m[i];
}
}
m[++l] = new node();
m[l]->name = x;
return m[l];
}
int main()
{
char c;
string s;
c = getchar();
node* f;
while (c != '$') {
s = input();
node* res = find(s);
if (c== '#') {
f = res;
}
if (c == '+') {
res->f = f;
}
if (c == '?') {
cout << res->name << ' ';
while (res->f != nullptr) {
res = res->f;
}
cout << res->name << endl;
}
c = getchar();
while (c=='\n')
c = getchar();
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...