LTĐT - Biểu diễn đồ thị 1

Xem dưới dạng PDF

Gửi bài giải

Điểm: 10
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Kiểu bài tập

Danh sách cạnh thành ma trận kề

Cho đồ thị vô hướng \(G=<V,E>\) được biểu diễn dưới dạng danh sách cạnh. Hãy viết chương trình thực hiện chuyển đổi biểu diễn đồ thị dưới dạng ma trận kề.

Dòng đầu tiên chứa 2 số nguyên dương n, m là số đỉnh và số cạnh của đồ thị

Dữ liệu vào:

  • Dòng đầu ghi số nguyên dương \(n\) và \(m\) là số đỉnh và số cạnh của đồ thị \((1 \le n \le 1000, 1 \le m \le n \times ({n-1})/2) )\)
  • \(m\) dòng tiếp theo, mỗi dòng chứa \(2\) số \(u\) và \(v\) biểu diễn cạnh \(u, v\) của đồ thị \((1 \le u,v \le n)\)

Dữ liệu ra:

  • Ma trận kề tương ứng của đồ thị

Input

4 3
0 2
1 2
2 3

Output

0 0 1 0
0 0 1 0
1 1 0 1
0 0 1 0

Nhận xét


  • 0
    Nguoingu45  đã bình luận lúc 27 tháng 7 năm 2023, 3:02 p.m.

    array array~


  • 0
    DovaTon  đã bình luận lúc 27 tháng 7 năm 2023, 3:02 p.m.

    Huhu bài khó quó em khum bít làm ạ ƠwƠ, ai giúp em với ạ


  • 0
    Nguoingu45  đã bình luận lúc 27 tháng 7 năm 2023, 3:00 p.m.

    code free cho moi nguoi ac <3


  • 0
    Nguoingu45  đã bình luận lúc 27 tháng 7 năm 2023, 3:00 p.m.

    include<bits/stdc++.h>

    using namespace std; long long n; vector<vector<long long>>mang(1000,vector<long long>(1000)); bool check(long long i ,long long j){ return i>=0 && i<n && j>=0 && j<n; } void dequy(long long i, long long j){ if(!check(i,j)) return; if(mang[i][j]==1){ mang[i][j]=0; dequy(i+1,j); dequy(i-1,j); dequy(i,j+1); dequy(i,j-1); dequy(i+1,j+1); dequy(i+1,j-1); dequy(i-1,j+1); dequy(i-1,j-1); } } int main(){ cin >> n; for(long long i = 0;i<n;i++){ for(long long j = 0;j<n;j++){ cin >> mang[i][j]; } } long long dem = 0; for(long long i = 0;i<n;i++){ for(long long j = 0;j<n;j++){ if(mang[i][j]==1){ dequy(i,j); dem++; } } } cout << dem; return 0; }