使用std :: cin时,我的C ++代码出现分段错误

问题描述

我正在解决一个算法问题(这是一个有关拓扑排序的问题,使用韩语http://boj.kr/1948),并且在测试示例输入时,在输入中间出现了分段错误

val movies : LiveData<Result<Movies>>? by lazy {
        model.getMovies()
}

我发现cin会导致此错误,但是我不知道为什么会导致错误以及如何解决。 这是我的整个代码

7
9
1 2 4
1 3 2
1 4 3
2 6 3
2 7 5
3 5 1
4 6 4
5 6 2 // here when I input 6,I get segmentation fault
6 7 5
1 7

解决方法

我认为应该用m代替n

for (int i = 0; i < m; i++) {
    int a,b,c;
    cin >> a >> b >> c;
    edges[a].push_back(Edge(b,c));
}