这题给定了一个图,我用DFS的思想,来求出在图中去掉某个点后还剩几个相互独立的区域(连通子图). 在DFS中,每遇到一个未访问的点,则对他进行深搜,把它能访问到的所有点标记为已访问.一共进行了多少次这样的搜索, 就是我们要求的独立区域的个数. #include <iostream> #include <fstream> #include <memory.h> using namespace std; const int maxNum = 1001; bool visit…
没什么难的,简单模拟题 #include <iostream> using namespace std; int main() { int num; cin>>num; int cost = 0; int curFloor = 0; while (num--) { int floor; cin>>floor; int tmp = floor - curFloor; cost += tmp > 0 ? 6 * tmp : -4 * tmp; cost += 5; c…
利用广度优先搜索,找出每层的叶子节点的个数. #include <iostream> #include <vector> #include <queue> #include <fstream> using namespace std; vector<vector<int>> tree; vector<int> ans; void BFS(int s) { queue<pair<int, int>>…
关键在于清空字符数组和使用scanf进行输入 #include <stdio.h> #include <string.h> #include <fstream> #include <iostream> using namespace std; int main() { int num; while (scanf("%d", &num) != EOF) { char earlest[20]; char lastest[20]; ch…
简单模拟题,注意读懂题意就行 #include <iostream> #include <queue> using namespace std; #define CUSTOMER_MAX 1000+1 #define INF 0x6fffffff #ifndef LOCAL // #define LOCAL #endif LOCAL int n; // number of windows <=20 int m ;// queue capacity <=10 int k;…
转换进制&&逆序可以在一起进行,有一点技巧,不要用十进制数来表示低进制,容易溢出. #include <iostream> #include <vector> using namespace std; bool isPrime(int n) { if(n < 2) return false; if(n == 2) return true; if(n % 2 == 0) return false; for(int i = 3; i < n; i += 2)…
简单模拟题,遍历一遍即可.考察输入输出. #include <iostream> #include <string> #include <stdio.h> #include <iomanip> using namespace std; #define N 3 int main() { char res[3]={'W','T','L'}; char max_res[N]; int i,j; float tmp,sum=1,odd; for(i=0;i<N…
题意: 输入三个整数N,M,K(N<=1000,第四个数据1e5<=M<=1e6).有1~N个城市,M条高速公路,K次询问,每次询问输入一个被敌军占领的城市,所有和该城市相连的高速公路全部不能使用,求增加多少条高速公路可以使剩下N-1个城市联通.(原本城市之间可能不联通,假设原本联通只能通过第0,4个数据). trick: 同一份代码交很多次,有几次会第4个点超时.(存疑)建议采用g++而不是clang++ AAAAAccepted code: #include<bits/stdc…
题目就是求联通分支个数删除一个点,剩下联通分支个数为cnt,那么需要建立cnt-1边才能把这cnt个联通分支个数求出来怎么求联通分支个数呢可以用并查集,但并查集的话复杂度是O(m*logn*k)我这里用的是dfs,dfs的复杂度只要O((m+n)*k)这里k是指因为有k个点要查询,每个都要求一下删除后的联通分支数.题目没给定m的范围,所以如果m很大的话,dfs时间会比较小. for一遍1~n个点,每次从一个未标记的点u开始dfs,标记该dfs中访问过的点.u未标记过,说明之前dfs的时候没访问过…
1013. Battle Over Cities (25) t is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediately if we need to repair any other…