不知道为什么以下代码k就是无效值!!莫名其妙又遇到错误。
所以从终端读取数据是个很麻烦的事情,你永远不知道为什么这样的事情会发生。
所以还是leetcode最好了,不用读取数据,直接vector就把数据给你了。
同样用一个istringstream,str成员函数设置新的string一个正确一个就挂了!!
int t;
string line;
getline(cin,line);
istringstream tmp0(line);
tmp0>>t;
getline(cin,line);
tmp0.str(line);
int k;
tmp0>>k;
但是,不知道为什么以下代码同样是只用一个istringstream 却是正确的。
int main()
{
int vec_num;
string line;
getline(cin,line);
istringstream tmp0(line);
while(1)
{
int n;
getline(cin,line);
tmp0.str(line);
tmp0>>n;
getline(cin,line);
//istringstream tmp(line);
tmp0.str(line);
vector<int> stack1,stack2;
int k;
while(tmp0>>k)
{
stack1.push_back(k);
}
getline(cin,line);
istringstream tmp2(line);
while(tmp2>>k)
{
stack2.push_back(k);
}
if(fitStack(stack1,stack2)) cout<<"Yes\n";//这个函数是其余的函数,懒得粘贴了。。总之其余读取正确的!为啥呢
else cout<<"No\n";
getline(cin,line);
istringstream tmp0(line);
tmp0>>vec_num;
}
return 0;
}