1. 程式人生 > >【codevs 4650】破損的鍵盤

【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

矩陣乘DPcodevs 1305Freda的道路

1305 Freda的道路 時間限制: 1 s 空間限制: 128000 KB 題目等級: 大師 Master 題目描述 Description Freda要到Rainbow的城堡去玩了。我們可以認為兩座城堡位於同一條數軸上,Freda的城堡座標是

codevs 1862LCS問題+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處理吧。一般情況下,前端是無法監控軟鍵盤到底是彈出來還是關閉的