当前位置:   article > 正文

Triangle LOVE 【HDU - 4324】【竞赛图拓扑判三元环】_trianglelove攻略

trianglelove攻略

题目链接


竞赛图判三元环的正确解法是,如果形成了环,那么一定存在三元环。

所以,直接拓扑判环就可以了,当然不嫌麻烦的话写Tarjan也是可以的。

  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cmath>
  4. #include <string>
  5. #include <cstring>
  6. #include <algorithm>
  7. #include <limits>
  8. #include <vector>
  9. #include <stack>
  10. #include <queue>
  11. #include <set>
  12. #include <map>
  13. #include <bitset>
  14. //#include <unordered_map>
  15. //#include <unordered_set>
  16. #define lowbit(x) ( x&(-x) )
  17. #define pi 3.141592653589793
  18. #define e 2.718281828459045
  19. #define INF 0x3f3f3f3f
  20. #define HalF (l + r)>>1
  21. #define lsn rt<<1
  22. #define rsn rt<<1|1
  23. #define Lson lsn, l, mid
  24. #define Rson rsn, mid+1, r
  25. #define QL Lson, ql, qr
  26. #define QR Rson, ql, qr
  27. #define myself rt, l, r
  28. using namespace std;
  29. typedef unsigned long long ull;
  30. typedef unsigned int uit;
  31. typedef long long ll;
  32. const int maxN = 2e3 + 7;
  33. int mp[maxN][maxN], N, du[maxN];
  34. queue<int> Q;
  35. inline bool tp_sort()
  36. {
  37. while(!Q.empty()) Q.pop();
  38. int inque = 0;
  39. for(int i=1; i<=N; i++) if(!du[i]) Q.push(i);
  40. while(!Q.empty())
  41. {
  42. inque++; int u = Q.front(); Q.pop();
  43. for(int i=1; i<=N; i++)
  44. {
  45. if(mp[u][i])
  46. {
  47. du[i]--;
  48. if(!du[i])
  49. {
  50. Q.push(i);
  51. }
  52. }
  53. }
  54. }
  55. return inque == N;
  56. }
  57. int main()
  58. {
  59. int T; scanf("%d", &T);
  60. char s[maxN];
  61. for(int Cas=1; Cas <= T; Cas++)
  62. {
  63. scanf("%d", &N);
  64. for(int i=1; i<=N; i++) du[i] = 0;
  65. for(int i=1; i<=N; i++)
  66. {
  67. scanf("%s", s + 1);
  68. for(int j=1; j<=N; j++)
  69. {
  70. mp[i][j] = s[j] - '0';
  71. if(mp[i][j]) du[j]++;
  72. }
  73. }
  74. printf("Case #%d: ", Cas); printf(tp_sort() ? "No\n" : "Yes\n");
  75. }
  76. return 0;
  77. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/64622
推荐阅读
相关标签
  

闽ICP备14008679号