社区讨论

全WA求助!!!

P2814家谱参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@locekr4w
此快照首次捕获于
2023/10/30 12:31
2 年前
此快照最后确认于
2023/11/05 00:11
2 年前
查看原帖
献上本蒟蒻的代码:
CPP
#include<cstdio>
#include<map>
#include<utility>
#include<cstring>
using namespace std;
map<char*,char*>family;
char*find_ancestor(char*name){
    static char*ans;
    if(!family.count(name))
        ans=name;
    else
        ans=find_ancestor(family[name]);
    return ans;
}
int main(void){
    family.clear();
    char a[10],op,name[10],father[10];
    while(1){
        scanf("%s",a);
        sscanf(a,"%c%s",&op,name);
        if(op=='$')
        	break;
        else if(op=='#')
            memcpy(father,name,sizeof(name));
        else if(op=='+'){
            family.insert(make_pair(name,father));
            //printf("father:%s son:%s\n",family[name],name);
        }
        else if(op=='?')
            printf("%s %s\n",name,find_ancestor(name));
    }/*
    printf("size:%d\n",family.size());
    for(map<char*,char*>::iterator it=family.begin();it!=family.end();it++)
    	printf("father:%s son:%s\n",it->second,it->first);*/
    return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...