题目没啥说的。
string类的整行输入,用getline(cin,buff,char c), 第三个参数为分割符,默认为\n,可忽略此参数。c不存入string,下次读时从c的下一个字符开始。
#include <iostream>
#include<map>
#include<string>
#include<cstdio>
using namespace std;
int main()
{
map<string,int> t;
int k,n;
cin>>k;
while(k--){
t.clear();
cin>>n; getchar(); string s; string o[300];
for(int i=0;i<n;i++){
getline(cin,s);
t[s]=i; o[i]=s;
}
int f[300];
for(int i=0;i<n;i++){
getline(cin,s);
f[i]=t[s];
}
int i;
for(i=n-2;i>=0&&f[i]<f[i+1];i--);
for(int j=i;j>=0;j--)
cout<<o[ f[j] ]<<endl;
cout<<endl;
}
return 0;
}