バイナリハックイージー / Unhappy Hacking (ABC Edit) (stack)

來源:互聯網
上載者:User

標籤:back   fine   stand   max   tip   following   sizeof   include   vector   

題目連結:http://abc043.contest.atcoder.jp/tasks/abc043_b

Time limit : 2sec / Memory limit : 256MB

Score : 200 points

Problem Statement

Sig has built his own keyboard. Designed for ultimate simplicity, this keyboard only has 3 keys on it: the 0 key, the 1 key and the backspace key.

To begin with, he is using a plain text editor with this keyboard. This editor always displays one string (possibly empty). Just after the editor is launched, this string is empty. When each key on the keyboard is pressed, the following changes occur to the string:

  • The 0 key: a letter 0 will be inserted to the right of the string.
  • The 1 key: a letter 1 will be inserted to the right of the string.
  • The backspace key: if the string is empty, nothing happens. Otherwise, the rightmost letter of the string is deleted.

Sig has launched the editor, and pressed these keys several times. You are given a string s, which is a record of his keystrokes in order. In this string, the letter 0 stands for the 0 key, the letter 1 stands for the 1 key and the letter B stands for the backspace key. What string is displayed in the editor now?

Constraints
  • 1≦|s|≦10 (|s| denotes the length of s)
  • s consists of the letters 01 and B.
  • The correct answer is not an empty string.
Input

The input is given from Standard Input in the following format:

s
Output

Print the string displayed in the editor in the end.

Sample Input 1Copy
01B0
Sample Output 1Copy
00

Each time the key is pressed, the string in the editor will change as follows: 001000.

Sample Input 2Copy
0BB1
Sample Output 2Copy
1

Each time the key is pressed, the string in the editor will change as follows: 0(empty)(empty)1.

題解:棧 我也不知道為啥有三組資料過不了 先放這

 

 1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 #include <cstdio> 5 #include <vector> 6 #include <cstdlib> 7 #include <iomanip> 8 #include <cmath> 9 #include <ctime>10 #include <map>11 #include <set>12 #include <queue>13 #include <stack>14 using namespace std;15 #define lowbit(x) (x&(-x))16 #define max(x,y) (x>y?x:y)17 #define min(x,y) (x<y?x:y)18 #define MAX 10000000000000000019 #define MOD 100000000720 #define pi acos(-1.0)21 #define ei exp(1)22 #define PI 3.14159265358979323846223 #define INF 0x3f3f3f3f3f24 #define mem(a) (memset(a,0,sizeof(a)))25 typedef long long ll;26 ll gcd(ll a,ll b){27     return b?gcd(b,a%b):a;28 }29 bool cmp(int x,int y)30 {31     return x>y;32 }33 const int N=10005;34 const int mod=1e9+7;35 int main()36 {37     std::ios::sync_with_stdio(false);38     string a;39     cin>>a;40     int len=a.length();41     stack <char> q ;42     for(int i=0;i<len;i++){43         if(a[i]==‘1‘){44             q.push(‘1‘);45         }46         else if(a[i]==‘0‘){47             q.push(‘0‘);48         }49         else if(a[i]==‘B‘){50             if(q.size()>0)51                 q.pop();52         }53     }54     while(q.size()>0){55         cout<<q.top();56         q.pop();57     }58     cout<<endl;59     return 0;60 }

バイナリハックイージー / Unhappy Hacking (ABC Edit) (stack)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.