Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "Cave for Cats"
https://onlinejudge.u-aizu.ac.jp/problems/0408
・ねこのあな
僕が作成、提出したコードは、以下のとおりです。
・Aizu Online Judge in C++ #Volume4 - 0408 : Cave for Cats
/* Aizu Online Judge in C++ #Volume4 - 0408 : Cave for Cats https://onlinejudge.u-aizu.ac.jp/problems/0408 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; bool tf[1000]; int main(void){ stack<int> st; int l; cin>>l; for(int i=1;i<=l;i++){ int c; cin>>c; if(c>0){ if(tf[c]==false){ st.push(c); tf[c]++; }else{ cout<<i<<"\n"; return 0; } }else{ if(st.empty()){ cout<<i<<"\n"; return 0; }else{ if(st.top()==-c){ st.pop(); tf[-c]=false; }else{ cout<<i<<"\n"; return 0; } } } } cout<<"OK\n"; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/