程式碼
include <iostream>#include <vector>using namespace std;int fr[10001][10001], kn[10001];void dfs(int graph[][10001], int visited[], int n, int curr) { visited[curr] = 1; for(int i = 1 ; i <= n ; i ++) { if (graph[curr][i] && !visited[i]) dfs(graph, visited, n, i); }}int main() { cin.tie(0); ios::sync_with_stdio(0); int n, m; cin >> n >> m; for (int i = 0 ; i < n ; i ++) fill(fr[i], fr[i]+n+1, 0); for (int i = 0 ; i < m ; i ++) { int a, b; cin >> a >> b; fr[a][b] = 1; fr[b][a] = 1; } fill(kn, kn+n+1, 0); vector <int> rec; for(int i = 1 ; i <= n ; i ++) { if (!kn[i]) { rec.push_back(i); dfs(fr, kn, n, i); } } int len = rec.size(); cout << "["; for (int i = 0 ; i < len ; i ++) cout << rec[i] << ",]"[i+1 == len]; cout << "\n"; return 0;}
NA(0%),全部記憶體區段錯誤
請問怎麼辦???
int fr[10001][10001], kn[10001];
是這一行造成記憶體區段錯誤的