UVA11988破損的鍵盤(悲劇文字)

2021-08-16 08:46:05 字數 496 閱讀 5864

1.**虛擬結點,從s+1開始輸入,字串長度也從s+1開始計算

2.next[i] = next[cur]大致是把下乙個字元的位置設為0

next[cur] = i是將cur與i連線起來,相當於在cur後插入i,即cur->i

3.遇到'['時,令cur = 0,即在0後插入元素

遇到']'時,令cur = last,即在最後乙個元素後繼續插入元素

4.last始終表示已插入的最後乙個元素

#include#includeconst int maxn=1000000+5;

int last,cur,next[maxn];

char s[maxn];

int main()

}for(int i=next[0]; i!=0; i=next[i]) printf("%c",s[i]);

printf("\n");

}return 0;

}

破損的鍵盤(uva 11988)

給你一段按鍵的文字,其中 表示home鍵,表示end鍵,輸出這段悲劇的文字。思路 使用鍊錶來模擬,遇到home鍵,就將後邊的文字插入到這段文字的最前邊,遇到 end鍵,就插入到這段文字的最後邊。但是用鍊錶會用到指標,過程比較繁瑣。這裡用乙個 next陣列模擬指向,next i 表示當前顯示屏中s i...

UVA 11988 破損的鍵盤

題目大意 從鍵盤輸入一行字串,但是由於鍵盤上的home 首 鍵和end 尾 鍵壞了,有時會自動按下這兩個鍵,所以打出的字串是混亂的。輸入 共包含多組資料,每組資料佔一行,輸入的每行字串,是從鍵盤按下去的每乙個鍵,其中 代表home鍵,代表end鍵 例 this is a beiju text 注 輸...

UVa 11988 破損的鍵盤(鍊錶)

題意就是輸入文字,若是遇到 游標就移到最前面,遇到 游標就移到最後。在這段 中,在for迴圈中如果不用n來代替strlen s 1 最後就會超時,以後寫 的時候我會注意到這點。1 include2 include3 include4 using namespace std 56 const int ...