分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

bzoj2208: [Jsoi2010]连通数(dfs)

发布时间:2023-09-06 01:44责任编辑:林大明关键词:暂无标签

2208: [Jsoi2010]连通数

题目:传送门 

题解:

   强烈吐槽(表示自己想复杂了)

   看到这个破题就直接想强联通,错了很久看一波路牌,发现没错,但是要bitset(蒟蒻不会啊)

   水了个dfs准备等下对拍....tmdA了!!!

   不想多说...

代码:

 1 #include<cstdio> 2 #include<cstring> 3 #include<cstdlib> 4 #include<cmath> 5 #include<algorithm> 6 using namespace std; 7 struct node 8 { 9 ????int x,y,next;10 }a[4100000];11 int len,last[410000];12 void ins(int x,int y)13 {14 ????len++;15 ????a[len].x=x;a[len].y=y;16 ????a[len].next=last[x];last[x]=len;17 }18 bool v[2100];19 char st[2100];20 void dfs(int x)21 {22 ????v[x]=1;23 ????for(int k=last[x];k;k=a[k].next)24 ????????if(v[a[k].y]==false)dfs(a[k].y);25 }26 int main()27 {28 ????int n;29 ????scanf("%d",&n);30 ????len=0;memset(last,0,sizeof(last));31 ????for(int i=1;i<=n;i++)32 ????{33 ????????scanf("%s",st+1);34 ????????for(int j=1;j<=n;j++)35 ????????????if(st[j]==‘1‘)36 ????????????????ins(i,j);37 ????}38 ????int ans=0;39 ????for(int i=1;i<=n;i++)40 ????{41 ????????memset(v,false,sizeof(v));dfs(i);42 ????????for(int j=1;j<=n;j++)ans+=v[j];43 ????}44 ????printf("%d\n",ans);45 ????return 0;46 }

bzoj2208: [Jsoi2010]连通数(dfs)

原文地址:https://www.cnblogs.com/CHerish_OI/p/8497049.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved