题目: 分析:当初花了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;
}
转载请注明原文地址: https://mac.8miu.com/read-515147.html