ALDS1_3_D:Areas on the Cross-Section Diagram


タイトルリンク:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_3_D
入力/および_
出力:積水総面積と各水たまりの面積
 
_無視できます.データを読み込むとき:スタックに押し込む/スタックにあるかどうかをチェックします.もしあるなら、差は面積です.加算します.
貯水池を建設して、1つのペアの坑/はこの坑の積水面積を貯金して、それぞれの面積と開始座標を貯金します
次のピットの開始が前のピットより小さい場合は、この2つのピットをマージします.
#include 
#include 
#include 
#include 
#include 
using namespace std;

int main (){
	char s;
	stack A;
	stack > B;
	int i=0,j,ans=0,a;
	while(cin>>s){
		if(s=='\\') A.push(i);
		else if(s=='/'&&!A.empty()){
			j=A.top();A.pop();
			a=i-j;
			ans+=a;
			while(!B.empty() && B.top().first>j){
				a=a+B.top().second;
				B.pop();
			}
			B.push(make_pair(j, a));
		} 
		i++;
	}
	cout< X;
	int z;
	z=B.size();
	for(int i =0;i=0;i--){
		cout<

エラー:
1.出力時、制限条件はなるべくB.size()と書かないでください.容器の変化に伴って変化するので、まず制限条件として変数を確立しなければなりません.例えば、
z=B.size();

for(int i =0;i

後でループ制限条件を書くときは、ループ内の内容が変化する量をできるだけ制限条件にしないで、まず別の変数に伝えてから制限することができます.