勤奮的電腦系學生

來源:互聯網
上載者:User

標籤:c   c++   stl棧   

題目描述

電腦系的同學從大一就開始學習程式設計語言了。初學者總是容易寫出括弧不匹配的程式。至今你仍然清楚地記得,那天上機的時候你的程式編譯出錯,雖然你使盡了吃奶的力氣也沒有把錯誤逮著。你實在沒有辦法只得舉手向老師請教。結果老師走過來一看,板著臉,指著螢幕,很不高興地衝著你說:“括弧!括弧!括弧沒有匹配!”自那以後,你痛定思痛決定寫一個程式,協助剖析器的括弧是否出錯,以免再出洋相。為了簡化工作,你假定程式的注釋、字元常量、字串常量中都不包含括弧,同時你只檢查()[]{}這三種括弧。

輸入

輸入為多組資料,最後一組資料以@結束,其餘每組資料以#結束。@與#不會出現在正常程式中。每個程式含有不超過255個括弧字元,程式長度不確定。

輸出

每組資料輸出一行,如果括弧匹配無誤則輸出"Wonderful",括弧匹配出現問題則輸出"Be Careful"(請注意大小寫和拼字錯誤,這些問題都將導致Wrong Answer)。 你只要關心括弧是否匹配,不需要在意其餘的語法錯誤。

範例輸入
int main(){   return 0;}#int main(){@
範例輸出
WonderfulBe Careful
#include<iostream> #include <stack> using namespace std; char a[3000000]; int main() {     stack<char> k;     int i;         while(cin.getline(a,3000000))          {              for(i=0;a[i]!='\0'&&a[0]!='#'&&a[0]!='@';i++)              {                 if (!k.empty()&&((k.top()-a[i]==-2)||(k.top()-a[i]==-1)))             {                 k.pop();             }                 else if(a[i]==40||a[i]==41||a[i]==91||a[i]==93||a[i]==123||a[i]==125)             {                 k.push(a[i]);             }                                                                   }              if(a[0]=='@')              {                  if(k.empty())                  {                      cout << "Wonderful" << endl;                  }                  else                {                      cout << "Be Careful" << endl;                  }                  break;              }              if (a[0]=='#')             {                 if(k.empty())                  {                      cout << "Wonderful" << endl;                  }                  else                {                      cout << "Be Careful" << endl;                  }                  while (!k.empty())                 {                     k.pop();                 }             }         }     return 0; } 

勤奮的電腦系學生

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.