题目链接:点击打开链接
题目大意:略。
解题思路:注意:编号为 0 的情况。
AC 代码
using namespace std;
typedef long long ll;
unordered_map<int,int> ump;
set<int> st;
vector<int> vec;
int main()
{
int n,u,v;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d%d",&u,&v);
ump[u==0?-1:u]=v==0?-1:v, ump[v==0?-1:v]=u==0?-1:u;
}
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&u);
st.insert(u==0?-1:u);
}
for(set<int>::reverse_iterator it=st.rbegin(); it!=st.rend(); it++)
{
v=ump[*it];
if(st.count(v)!=1)
vec.push_back(*it);
}
printf("%d\n",vec.size());
for(int i=vec.size()-1;i>=0;i--)
{
printf("%05d%c",vec[i]==-1?0:vec[i],i==0?'\n':' ');
}
return 0;
}
/* 特殊数据
3
00000 11111
33333 44444
55555 66666
2
00000 12345
*/