当前位置: 首页 > article >正文

2.6学习总结

写了两道题

#include <stdio.h>
#include <stdlib.h>
struct hly
{
    int left;
    int right;
    int d;
}q[100005];
int main()
{
    int n,m,k,p;
    scanf("%d",&n);
    q[1].left=0;
    q[1].right=0;
    q[0].left=1;
    q[0].right=1;
    for(int i=2;i<=n;i++){
       scanf("%d %d",&k,&p);
       if(p==1){
          q[i].right=q[k].right;
          q[i].left=k;
          q[k].right=i;
          q[q[i].right].left=i;
       }
       if(p==0){
          q[i].left=q[k].left;
          q[i].right=k;
          q[k].left=i;
          q[q[i].left].right=i;
       }
    }
    scanf("%d",&m);
    while(m--){
        int x;
        scanf("%d",&x);
        q[x].d=1;
    }
    int t=q[0].right;
    while(t!=0){
        if(q[t].d==0)
            printf("%d ",t);
        t=q[t].right;
    }
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
int p[1005];
int find(int x)
{
    if(p[x]==x)
        return x;
    return p[x]=find(p[x]);
}
void join(int x,int y)
{
    int fx=find(x);
    int fy=find(y);
    if(fx!=fy)
        p[fx]=p[fy];
}
int main()
{
    int n,m,num=0;
    while(1){
        scanf("%d",&n);
        if(n==0)
            return 0;
        scanf("%d",&m);
        for(int i=1;i<=n;i++){
            p[i]=i;
        }
        for(int i=1;i<=m;i++){
            int a,b;
            scanf("%d %d",&a,&b);
            join(a,b);
        }
        for(int i=1;i<=n;i++){
            if(find(i)==i)
                num++;
        }
        printf("%d\n",num-1);
        num=0;
    }
    return 0;
}


http://www.kler.cn/a/534965.html

相关文章:

  • mounted钩子函数里如何操作子组件的DOM?
  • React 第二十二节 useSyncExternalStore Hook 常见问题及用法详解
  • Denavit-Hartenberg DH MDH坐标系
  • 【C++】STL——list底层实现
  • [加餐]指针和动态内存管理
  • 解决threeJS加载obj gltf和glb模型后颜色太暗的方法
  • 概念AIGC
  • 56. Uboot移植实验
  • 【银河麒麟高级服务器操作系统】系统日志Call trace现象分析及处理全流程
  • Redis持久化-秒杀系统设计
  • flappy-bird-gymnasium
  • 【Linux系统】线程:线程的优点 / 缺点 / 超线程技术 / 异常 / 用途
  • 深入理解 Unix Shell 管道 Pipes:基础和高级用法 xargs tee awk sed等(中英双语)
  • 第二节 程序设计的基本结构
  • 无人机在铁路隧道检查应用技术详解
  • DeepSeek之python实现API应用
  • 【LLM运用】在Ubuntu上Cosyvoice的部署
  • java异常分类,异常处理,面试中常见异常问题!
  • Java并发面试题(题目来源JavaGuide)
  • 算法设计与分析三级项目--管道铺设系统
  • css-根据不同后端返回值返回渲染不同的div样式以及公共组件设定
  • Spring JDBC模块解析 -深入SqlParameterSource
  • 论文解读 | NeurIPS'24 Spotlight ChronoMagic-Bench 评估文本到视频生成的质变幅度评估基准...
  • B站自研的第二代视频连麦系统(上)
  • 拧紧“安全阀”,AORO-P300 Ultra防爆平板畅通新型工业化通信“大动脉”
  • .net的一些知识点3