---
# System prepended metadata

title: UVa 11988 - Broken Keyboard (a.k.a. Beiju Text)
tags: [林基成-C++, UVA code, cpp, Awwwolf的刷題之路]

---

# UVa 11988 - Broken Keyboard (a.k.a. Beiju Text)
## Online Judge
![](https://i.imgur.com/wnN2nlr.png)

## 解題思路
在'['之後的元素要放到最前面，在‘]’後面的元素要放在最後面，就這樣。
p.s.想到插入當然就是要用list啊，用deque寫那麼多行幹嘛（笑  2021/05/05留

## 解題中出現的bug
沒誒，沒什麼bug，然後auto是個好用的東西可以少打很多字（笑），之後記得在開個研究文（如果記得的話）。
## Code
```cpp=
#include <iostream>
#include <string>
#include <list>
using namespace std;

int main()
{
    string input;
    while(getline(cin, input)&& input[0]!=EOF)
    {
        list<char>line;
        auto It = line.begin();
        for(auto i:input)
        {
            switch (i)
            {
            case '[':
                It = line.begin();
                break;
            case ']':
                It = line.end();
                break;
            default:
                line.insert(It,i);
                break;
            }
        }
        for(auto it:line)
            cout << it;
        cout << endl;
        input.clear();
    }
    return 0;
}
```
###### tags: `UVA code` `cpp` `林基成-C++` `Awwwolf的刷題之路`