
图
blue_sister
这个作者很懒,什么都没留下…
展开
-
L2-4 网红点打卡攻略 (25 分)
#include<bits/stdc++.h> using namespace std; bool vis[205]; int grape[205][205]; int cnt; const int inf = 0x3f3f3f3f; int n,k; int main() { fill(grape[0],grape[0]+205*205,inf); scanf("%d%d",&n,&k); for(int i=0;i<k;i++){ .原创 2021-04-19 17:51:18 · 448 阅读 · 0 评论 -
传统的延续————浙江农林大学第二十届程序设计竞赛暨团体程序设计天梯赛选拔赛(同步赛)
传送门 题目描述 题目背景 在一个神秘的古老国度有着这样的一个传统,如果一个城市曾向另一个城市宣誓,那么这个城市的最高建筑不得高于效忠的城市,一个城市最多只会宣誓一次。 特别的如果城市A曾向B宣誓,B城市曾向C城市宣誓,那么我们会认为城市A也会向城市C效忠。 由于国家的快速发展,不断有新的城市出现,也就不断有新的效忠关系出现,关系实在是错综复杂。 所以现在请你写一个程序来判断有多少个城市对之间的关系任然是合法的。 一对城市的关系被看作是合法的当且仅当城市之间存在效忠关系,且附属原创 2021-03-21 21:09:23 · 280 阅读 · 0 评论 -
1034 Head of a Gang (30 分)
题目地址 1.hash 2.并查集 3.父节点的维护 4.连通块的计算 ac代码 #include<bits/stdc++.h> using namespace std; //离线存储数据 struct Data { int id1,id2; int val; }data[20000]; //存储每个集合的的数据 struct node { int id = 20000; //父节点 int people; //统计该集合节点数 int val;原创 2021-03-15 21:04:23 · 99 阅读 · 0 评论 -
1021 Deepest Root (25 分) dfs + 连通块的计算 + 邻接表
题目地址 1:图的dfs遍历 2:图中维护最大高度 3:邻接矩阵 4:图中连通块的计算 #include<bits/stdc++.h> using namespace std; vector<vector<int > > grape; bool vis[10005]; int maxheight = 0,n; vector<int > temp; set<int > s; void dfs(int u,int height) { if(he原创 2021-03-08 09:33:25 · 62 阅读 · 0 评论