#44351: 請問DFS時疑似遞迴過深RE怎麼辦?


JengSwan (Jeng Swan)

學校 : 國立臺南女子高級中學
編號 : 255594
來源 : [114.40.68.134]
最後登入時間 :
2025-04-03 16:24:08
n836. 八卦傳遞 -- 板橋高中教學題 | From: [114.40.66.117] | 發表日期 : 2024-11-30 11:58

程式碼

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%),全部記憶體區段錯誤

請問怎麼辦???

 
#44461: Re: 請問DFS時疑似遞迴過深RE怎麼辦?


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.15.17.151]
最後登入時間 :
2025-02-02 09:42:51
n836. 八卦傳遞 -- 板橋高中教學題 | From: [39.10.8.246] | 發表日期 : 2024-12-08 08:43

int fr[10001][10001], kn[10001];

 


是這一行造成記憶體區段錯誤的

 
ZeroJudge Forum