求助:UVA517双队列加栈Segmentation Fault
  • 板块学术版
  • 楼主canghan
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/8/22 15:14
  • 上次更新2023/10/27 14:10:31
查看原帖
求助:UVA517双队列加栈Segmentation Fault
497835
canghan楼主2022/8/22 15:14

代码如下

#include<bits/stdc++.h>
using namespace std;
stack<int> s;
queue<int> q,ans;
int a[99999];
int main(){
	int i,j,n,x;
	while(cin>>n&&n!=0){
		while(cin>>a[1]){
		if(a[1]==0){
			break;
		}
		q.push(1);
		ans.push(a[1]);
		for(i=2;i<=n;i++){
			cin>>a[i];
			q.push(i);
			ans.push(a[i]);
		}
		for(i=1;i<=n;i++){
			s.push(q.front());
			q.pop();
			while(s.top()==ans.front()){
				if(!s.empty()){
					s.pop();
					ans.pop();
				}
				else if(s.empty()){
					break;
				}
			}
		}
	}
		if(q.empty()&&ans.empty()&&s.empty()){
		cout<<"Yes"<<endl;
		}
		else{
			cout<<"No"<<endl;
		}
	}
	
	return 0;
}
2022/8/22 15:14
加载中...