ベクトル添え字が範囲外エラーになっています。以前に使用したことがありますが、「前」は印刷されますが、「後」は印刷されないため、これらの行の1つが原因である理由がわかりません。
cout << "before" << endl;
vector<vector<char>> animals;
vector<vector<char>> food;
vector<char> other;
int lastline = 0;
for(int i=1;i<=(c);i++){
cout << "after" << endl;