C++步骤问题,关于不定数量,无变量n的多组输入

输入
多组测试样例,每组输入一行。行末元素为-1表示该组测试样例输入结束。
最后一行单独输入一个-1表示测试结束

样例输入
0 9 4 8 8 2 4 5 5 1 7 1 1 5 -1
1 4 2 3 2 2 1 6 8 5 7 6 1 8 9 2 -1
-1

遇到这种”多组输入”情况时该怎么办?就是不能用像”while(cin>>n)”这种语句的时候

 vector<int> v;
while (true)
{
int n; cin >> n;
if (n != -1) v.push_back(n); else break;
}

 vector<int> vec;
    int n = 0;
    while ((cin >> n) && (-1 != n))
    {
        vec.push_back(n);
    }