题目:
分析:当初花了2个小时看题意,看不懂DFS的定义过程,问了大佬后描述了这个与栈结合的过程,有点模模糊糊。上数据结构课,突然发现和老师讲的一致,但是还是有点不清晰,决定放在blog里。
也熟悉了用c++的stl
AC代码
#include <bits/stdc++.h>
using namespace std;
char q[5];
int a[100001],b[100001];
stack<int>s;
int main()
{
int n,i,x;
cin>>n;
int id=0;
for(i=1; i<=2*n; i++)
{
cin>>q>>x;
if(strcmp(q,"in")==0)
{
if(s.empty())s.push(x);
else
{
a[++id]=s.top();
b[id]=x;
s.push(x);
}
}
else if(strcmp(q,"out")==0)
{
s.pop();
}
}
for(i=1;i<=id;i++)
printf("%d %d\n",a[i],b[i]);
return 0;
}