7-42 愿天下有情人都是失散多年的兄妹
生活随笔
收集整理的這篇文章主要介紹了
7-42 愿天下有情人都是失散多年的兄妹
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
個人認為這個題的測試數據有問題。
前邊已經對sexs設置過初值,后邊else語句不加過不了最后一個測試點,說明存在對一個人性別的反復修改。因為性別不同輸出是不一樣的。
ac代碼:
#include <bits/stdc++.h> using namespace std;const int N = 3e5+10;int h[N],tot,vis[N]; bool sexs[N]; struct Edge{int to,nxt; }e[N]; void add(int from,int to) {e[tot].to = to, e[tot].nxt = h[from];h[from] = tot ++ ; } bool dfs(int cnt,int u) {if(cnt==5) return false;if(vis[u]) return true;vis[u]=1;for(int i=h[u]; ~i; i = e[i].nxt)if (dfs(cnt + 1, e[i].to)) return 1;return false; } int main() {memset(sexs, 0, sizeof sexs);memset(h, -1, sizeof h); tot = 0;int n;cin >> n;for(int i = 0; i < n; ++i){int u, fa, ma;char sex;cin >> u >> sex >> fa >> ma;if(sex == 'F') sexs[u] = 1;else sexs[u] = 0;if(fa != -1) add(u, fa);if(ma != -1) add(u, ma), sexs[ma] = 1;}int m; cin >> m;while(m--){memset(vis,0,sizeof vis);int x,y; cin >> x >> y;if(sexs[x] == sexs[y]) {cout << "Never Mind\n";continue;}dfs(0,x);if(dfs(0,y)) cout << "No\n";else cout << "Yes\n";} }?
總結
以上是生活随笔為你收集整理的7-42 愿天下有情人都是失散多年的兄妹的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: taro之--设计稿以及尺寸单位
- 下一篇: oommf 提示 mmArchive 保