家谱树

家谱树静态模拟家谱树 includestdio h includestrin hstructnode charname 15 intbcnt scnt son 105 a 105 intans void find intx inty if ans return for inti 0 ia y scnt i

静态模拟家谱树

#include 
    #include 
    struct node { char name[15]; int bcnt,scnt,son[105]; }a[105]; int ans; void _find(int x,int y) { if(ans)return; for(int i=0;i 
  
    if(a[y].son[i]==x){ans= 
   1; 
   break;} _find(x,a[y].son[i]); 
   if(ans) 
   return; } } 
   int main() { 
   int n,m; 
   char s[ 
   80],ss[ 
   8][ 
   15]; 
   scanf( 
   "%d%d",&n,&m);getchar(); 
   for( 
   int i= 
   0;i 
   
     0;gets(s); 
    for( 
    int j= 
    0;s[j]!= 
    '\0';j++) { a[i].bcnt+=s[j]== 
    ' '; 
    if(s[j]!= 
    ' ') { 
     
    strcpy(a[i].name,s+j); 
    break;} } 
    memset(a[i].son,- 
    1, 
    sizeof(a[i].son)); } 
    for( 
    int i= 
    1;i 
    
      for( 
     int j=i- 
     1;j>= 
     0;j--) 
     if(a[i].bcnt-a[j].bcnt== 
     2) { a[j].son[a[j].scnt++]=i; 
     break; } 
     while(m--) { 
     for( 
     int i= 
     0;i< 
     6;i++) 
     scanf( 
     "%s",ss[i]); 
     int id1= 
     0,id2= 
     0; 
     for( 
     int i= 
     0;i 
     
       if( 
      strcmp(ss[ 
      0],a[i].name)== 
      0) id1=i; 
      else 
      if( 
      strcmp(ss[ 
      5],a[i].name)== 
      0) id2=i; 
      if(ss[ 
      3][ 
      0]== 
      'c') { 
      int flag= 
      0; 
      for( 
      int i= 
      0;i 
      
        if(a[id2].son[i]==id1) { flag= 
       1; 
       break; } flag? 
       puts( 
       "True"): 
       puts( 
       "False"); } 
       else 
       if(ss[ 
       3][ 
       0]== 
       'p') { 
       int flag= 
       0; 
       for( 
       int i= 
       0;i 
       
         if(a[id1].son[i]==id2) { flag= 
        1; 
        break; } flag? 
        puts( 
        "True"): 
        puts( 
        "False"); } 
        else 
        if(ss[ 
        3][ 
        0]== 
        's') { 
        for( 
        int i= 
        0;i 
        
          int flag= 
         0; 
         for( 
         int j= 
         0;j 
         
           if(a[i].son[j]==id1||a[i].son[j]==id2) flag++; 
          if(flag== 
          2) { 
           
          puts( 
          "True"); 
          break;} 
          else 
          if(flag== 
          1||i==n- 
          1){ 
           
          puts( 
          "False"); 
          break;} } } 
          else 
          if(ss[ 
          3][ 
          0]== 
          'd') ans= 
          0,_find(id1,id2),ans? 
          puts( 
          "True"): 
          puts( 
          "False"); 
          else ans= 
          0,_find(id2,id1),ans? 
          puts( 
          "True"): 
          puts( 
          "False"); } } 
          
         
        
       
      
     
    
  
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202664.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午11:36
下一篇 2026年3月19日 下午11:36


相关推荐

  • UV贴图新手教程

    UV贴图新手教程英文原文 ByCirstynBec Yagher 3DWorld October23 2018 你是 UV 贴图界的新手么 我们会手把手带你通关这个至关重要的 3D 任务的基本内容 虽然 UV 贴图号称是 3d 界最枯燥的工作 尤其对于初学者 但它也是连接模型 烘焙以及纹理的桥梁 它非常关键 如果 UV 很糟糕 那么即使很好的 3D 模型也会看起来很糟糕 所以无论你喜欢还是讨厌 UV 了解它都是你无

    2026年3月18日
    2
  • 数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器

    数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器第1章 引言        随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库:可…

    2022年6月13日
    25
  • 最新kali之lbd

    最新kali之lbd描述 负载平衡检测器 0 4 检查给定的域是否使用负载平衡 选项 a 等效于 v tANY A 就像 a 一样 但是省略了 RRSIG NSEC NSEC3 c 指定非 IN 数据的查询类 C 比较权威名称服务器上的 SOA 记录 d 等效于 v l 使用 AXFR 列出域中的所有主机 m 设置内存调试标志 跟踪 记录 使用 N 更改在查找根之前允许的点数 p 指定服务器上要查询的端口 r 禁用递归处理 R 指定 UDP 数据包的重试次数 s

    2026年3月17日
    2
  • C语言变量名命名规则

    C语言变量名命名规则一 程序风格 nbsp nbsp nbsp nbsp nbsp 1 严格采用阶梯层次组织程序代码 nbsp nbsp nbsp nbsp nbsp 各层次缩进的分格采用 VC 的缺省风格 即每层次缩进为 4 格 括号位于下一行 nbsp nbsp 要求相匹配的大括号在同一列 对继行则要求再缩进 4 格 例如 nbsp nbsp nbsp nbsp nbsp 2 提示信息字符串的位置 nbsp nbsp nbsp nbsp nbsp 在程序中需要给出的提示字符串 为了支持多种语言的开发 除了一些给调试用的临时信息外 其他所有的提示

    2026年3月19日
    2
  • OS X 键盘快捷键

    OS X 键盘快捷键

    2021年8月28日
    65
  • PHP获取当前页面的url

    PHP获取当前页面的url

    2021年10月30日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号