【codevs 4650】破損的鍵盤
4650 破損的鍵盤
時間限制: 1 s
空間限制: 16000 KB
題目等級 : 黃金 Gold
題解
題目描述 Description
有一天,你需要打一份檔案,但是你的鍵盤壞了,上面的”home”鍵和”end”鍵會時不時地按下,而你卻毫不知情,甚至你都懶得開啟顯示器,當你開啟顯示器之後,出現在你的面前的是一段悲劇的文字。
輸入描述 Input Description
輸入只有一行,即這份檔案,這份檔案只包含小寫字母和’[‘以及’]’,用’[‘代替”home”鍵,用’]’代替”end”鍵。
輸出描述 Output Description
你的任務是在開啟顯示器之前,計算出這份悲劇的文件。
樣例輸入 Sample Input
kdg[gek]h[itj
de[co]vs
樣例輸出 Sample Output
itjgekkdgh
codevs
資料範圍及提示 Data Size & Hint
包含多組測試資料,直到檔案結束。
字串長度小於10000個字元。
不包含空格。
連結串列
下標與next的跳躍
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
using namespace std;
const int MAXN = 10005;
int nxt[MAXN],head = 0,tail = 0,len,now = 0;
char s[MAXN];
int main(){
while(scanf("%s",s + 1) == 1){
len = strlen(s + 1);
memset(nxt,0,sizeof(nxt)); head = tail = now = 0;
//記得初始化
for(int i = 1; i <= len; i ++){
if(s[i] == '[' ) now = head;
else if(s[i] == ']') now = tail;
else{
nxt[i] = nxt[now],nxt[now] = i;
if(tail == now) tail = i;
now = i;
}
}
for(int i = nxt[0]; i != head; i = nxt[i])
printf("%c",s[i]); puts("");
}
return 0;
}
相關推薦
【codevs 4650】破損的鍵盤
4650 破損的鍵盤 時間限制: 1 s 空間限制: 16000 KB 題目等級 : 黃金 Gold 題解 題目描述 Description 有一天,你需要打一份檔案,但是你的鍵盤壞了,上面的”home”鍵和”end”鍵會時不時地按下,而你卻
【codevs 4716】破損的鍵盤2
4716 破損的鍵盤2 時間限制: 1 s 空間限制: 16000 KB 題目等級 : 白銀 Silver 題解 檢視執行結果 題目描述 Description 這個鍵盤壞掉了。字母的順序被弄亂了。 你毫不知情,當你列印文件的時候,你甚
【樹上動規】【codevs 1163】訪問藝術館
不用 tdi blog 復雜度 要花 clas 利用 第一個 數量 題目描述 Description 皮爾是一個出了名的盜畫者,他經過數月的精心準備,打算到藝術館盜畫。藝術館的結構,每條走廊要麽分叉為二條走廊,要麽通向一個展覽室。皮爾知道每個展室裏藏畫的數量,並且他精確地測
【CodeVS - 3639】(樹的重心模板,裸題)
題幹: 題目描述 Description 給出一棵樹,求出樹的中心。 為了定義樹的中心,首先給每個結點進行標號。對於一個結點K,如果把K從樹中刪除(連同與它相連的邊一起),剩下的被分成了很多塊,每一塊顯然又是一棵樹(即剩下的部分構成了一個森林)。則給結點K所標的號就是森林中
【CodeVS 1851】越獄
【題目】 傳送門 題目描述 Description 監獄有連續編號為 1 … n
【codevs 1373】 射命丸文
1373 射命丸文 時間限制: 1 s 空間限制: 128000 KB 題目等級 : 黃金 Gold 題解 題目描述 Description 在幻想鄉,射命丸文是以偷拍聞名的鴉天狗。當然,文文的照相機可不止能夠照相,還能夠消除取景框裡
【codevs 4543】普通平衡樹
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const in
【矩陣乘】【DP】【codevs 1305】Freda的道路
1305 Freda的道路 時間限制: 1 s 空間限制: 128000 KB 題目等級: 大師 Master 題目描述 Description Freda要到Rainbow的城堡去玩了。我們可以認為兩座城堡位於同一條數軸上,Freda的城堡座標是
【codevs 1862】LCS問題+LCS的計數
LCS的模版 #include<bits/stdc++.h> using namespace std; int len1,len2; char a[5010],b[5010]; int d
【codevs 3955】最長嚴格上升子序列(加強版)
3955 最長嚴格上升子序列(加強版) 時間限制: 1 s 空間限制: 256000 KB 題目等級 : 鑽石 Diamond 輸入描述 Input Description 第一行,一個整數N。 第二行 ,N個整數(N < = 10000
【codevs 1995】黑魔法師之門
嗯…… 通過樣例看出來,答案要麼不變,要麼*2+1 然後 發現如果新加的這條邊same(l[i].f,l[i].t),就*2+1 證明以後再說,機房要關門了…… #include <
【codevs 5126】[NOIP2015 普及組T4]推銷員(貪心)
5126 推銷員 NOIP2015 時間限制: 1 s 空間限制: 128000 KB 題目等級 : 黃金 Gold 題目描述 Description 阿明是一名推銷員,他奉命到螺絲街推銷他
【codevs 2102】石子歸併
題目描述 Description 有n堆石子排成一列,每堆石子有一個重量w[i], 每次合併可以合併相鄰的兩堆石子,一次合併的代價為兩堆石子的重量和w[i]+w[i+1]。問安排怎樣的合併順序,能夠使得總合並代價達到最小。 輸入描述 Input Descri
【codevs 3981】動態最大子段和 / 線段樹
題 給定一個長度為 nn 的序列 aiai,以及 qq 次詢問,每次詢問給定 l,rl,r 兩引數。 對於每次詢問,求 alal 到 arar 之間的最大子段和,子段的意思是連續非空子區間。 更形
【Java入門】資料鍵盤錄入
package com.itheima; import java.util.Scanner; 快捷鍵ctrl+shift+o * 鍵盤錄入:為提高程式的靈活性,把資料改為鍵盤錄入 * 實現:使用JDK提供的類Scanner * 步驟: * a.導包
【codevs 1048】石子歸併
1048 石子歸併 時間限制: 1 s 空間限制: 128000 KB 題目等級 : 黃金 Gold 題解 檢視執行結果 題目描述 Description 有n堆石子排成一列,每堆石子有一個重量w[i], 每次合併可以合併相鄰的兩堆石子,
【BZOJ3167/4824】[Heoi2013]Sao/[Cqoi2017]老C的鍵盤
完全二叉樹 div 行為 orm sao tran input line ems 【BZOJ3167】[Heoi2013]Sao Description WelcometoSAO(StrangeandAbnormalOnline)。這是一個VRMMORPG,含有n個
【安全牛學習筆記】XSS- 鍵盤記錄器和反射型XSS
信息安全 security+ xss ╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋┃XSS
【小技巧】電腦開機自動關閉數字小鍵盤方法
開機自動關閉數字小鍵盤方法開機自動關閉數字小鍵盤方法:在〔開始〕點擊{運行〕輸入〔Regedit〕選擇{HKEY_USERS〕→選擇〔.Default〕 →選擇〔Control Panel〕→選擇〔Keyboard〕→將數值名稱〔InitialKeyboardIndicators〕資料值更改為〔0〕順道來腦補
【移動端web】軟鍵盤兼容問題
box 因此 focus AR 相關 點擊 ~~ 事件監聽 aaa 軟鍵盤收放事件這周幾天遇到了好幾個關於web移動端兼容性的問題。並花了很長時間去研究如何處理這幾種兼容問題。這次我們來說說關於移動端軟鍵盤的js處理吧。一般情況下,前端是無法監控軟鍵盤到底是彈出來還是關閉的