EOJ_1020_铁路调度
生活随笔
收集整理的這篇文章主要介紹了
EOJ_1020_铁路调度
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <bits/stdc++.h>using namespace std;int get(int n, string s)
{s = "0"+s;int res=1;stack<int> st;int j=1;for(int i=1;i<=n;i++){while(!st.empty()){ //要注意在每次新火車入棧之前是否有火車想出去,要用while,可能不止一輛火車要出去,所以不能只是if判斷最外面的一個if((s[j]-'0')==st.top()){//要注意string里面的是字符,要-'0'處理//cout<<st.top();st.pop();j++;}else break;}st.push(i);}while(!st.empty()){if((s[j]-'0')==st.top()){//cout<<st.top();st.pop();j++;}else break;}if(st.empty()) res=1;else res=0;return res;
}int main()
{int k;cin>>k;for(int i=0;i<k;i++){int n;cin>>n;string s;//因為字符是連續的,所以用string方便一點cin>>s;int res=get(n, s);if(res) cout<<"yes"<<endl;else cout<<"no"<<endl;}return 0;
}
總結
以上是生活随笔為你收集整理的EOJ_1020_铁路调度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab寻找函数对应的工具箱
- 下一篇: EOJ_1021_可旋栈