程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 易炸物LA3644(並查集)

易炸物LA3644(並查集)

編輯:C++入門知識

[cpp]  #include <iostream>   #include <cstdio>   #include <cstring>   using namespace std;   const int maxn = 100000 + 10;   int f[maxn];      int find(int x) {       return f[x] != x ? f[x] = find(f[x]) : x;   }      int main() {       int x, y;       while(scanf("%d", &x) == 1) {           for(int i = 0; i <= maxn; i++) {               f[i] = i;           }               int refuse_num = 0;               while(x != -1) {                   scanf("%d", &y);                   x = find(x); y = find(y);                   if(x == y) {                       ++ refuse_num;                   }                   else{                       f[x] = y;                   }                    scanf("%d", &x);               }               printf("%d\n", refuse_num);           }       }    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved