我是向量的新手,我尝试在main()函数中输入此2D向量,但无法这样做。

    int main()
{
    int t, x, n;
        cin>>n;
        vector< vector <int> >  jail(n);
        for(int i=0; i<n; i++){
            jail[i].reserve(n);
            for(int j=0; j<n; j++){
                cin>>jail[i][j];
            }
        }

        cout<< jailBreak(jail,n-1,0,0)<<endl;
}


运行时错误是我需要在程序的开头输入垃圾输入。
这种模糊的输入已经困扰了我很长时间了,事先感谢thanx的任何建议。

最佳答案

在您的代码中:

for(int i=0; i<n; i++){
        jail[i].reserve(n);
        for(int j=0; j<n; j++){
            cin>>jail[i][j];
        }
    }




jail[i].reserve(n);


应该是jail[i].resize(n)

cin>>jail[i][j]


以前从未见过这项工作。 cin进入一个临时目录,然后推送。

int temp;
std::cin >> temp;
jail[i].emplace_back(temp);

10-07 20:25