Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
28/05/2013 21:05 # 1
vnttqb
Cấp độ: 13 - Kỹ năng: 8

Kinh nghiệm: 5/130 (4%)
Kĩ năng: 39/80 (49%)
Ngày gia nhập: 21/03/2011
Bài gởi: 785
Được cảm ơn: 319
[code- học ngày 28/5] Tìm số cầu cần xây


Ngoài cách duyệt như thầy thì có thể dùng kĩ thuật find and join để làm nhé.  Chúc các bạn học tốt
 Full code 
 

 #include <iostream>
#include <fstream>
#include <string.h>
#include <Queue>
#include <Stack>
 
using namespace std;
int n,m;
int a[100][100];
int g[100];
int goc(int i)
{
return g[i];
}
 
 
void setgoc(int x,int y)
{
if ( goc(x) > goc(y) )
  g[x] = goc(y);
else
g[y] = goc(x);
}
void docfile()
{
int x,y;
memset(a,0,sizeof(a));
ifstream fi("data.inp");
fi>>n>>m;
for ( int i=1;i<=n;i++)
g[i] =i;
for ( int i=1; i<=m;i++)
{
fi>>x>>y;
a[x][y] = a[y][x] =1;
setgoc(x,y);
}
}
int kiemtra()
{
int dem=0;
for ( int i=1;i<=n;i++)
if (goc(i) == i)
dem++;
return dem;
}
int main()
{
 
    docfile();
    cout<<"\nso cau can xay :"<<kiemtra()-1;
 
}
 
 


======================================================================================================

Cuộc đời là một dòng sông. Ai không bơi thì chết. 
 

Name: Tien (Tory) TRAN
Email: TranTien29@gmail.com


 
Các thành viên đã Thank vnttqb vì Bài viết có ích:
Copyright© Đại học Duy Tân 2010 - 2024