日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bzoj 1116

發布時間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bzoj 1116 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

思路:每個連通塊都判是否有環。

#include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define pii pair<int,int> #define piii pair<int, pair<int,int> >using namespace std;const int N = 1e5 + 10; const int M = 10 + 7; const int inf = 0x3f3f3f3f; const LL INF = 0x3f3f3f3f3f3f3f3f; const int mod = 1e9 + 7; const double eps = 1e-6;int n, m, vis[N]; vector<int> edge[N];bool dfs(int u, int p) {vis[u] = -1;for(int i = 0; i < edge[u].size(); i++) {int v = edge[u][i];if(v == p) continue;if(vis[v] == -1) {return false;} else if(!vis[v] && !dfs(v, u)) {return false;}}vis[u] = 1;return true; } int main() {scanf("%d%d", &n, &m);for(int i = 1; i <= m; i++) {int u, v; scanf("%d%d", &u, &v);edge[u].push_back(v);edge[v].push_back(u);}for(int i = 1; i <= n; i++) {if(!vis[i] && dfs(i, 0)) {puts("NIE");return 0;}}puts("TAK");return 0; } /* */

?

轉載于:https://www.cnblogs.com/CJLHY/p/9187079.html

總結

以上是生活随笔為你收集整理的bzoj 1116的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。