括號編碼
description
s = s1 s2...s2n 是乙個符合格式的括號的字串,s能按下面兩種方式編碼:
p編碼:編碼是乙個整數序列p = p1 p2...pn,pi是第i個右括號之前的左括號的數目。
w編碼:編碼是乙個整數序列w= p1 p2...pn,wi是第i個右括號的編碼值,它等於這個右括號到與之匹配的左括號之間的右括號的數目(包括它自己)。
比如:s ( ( ( ( ) ( ) ( ) ) ) )
p 4 5 6 6 6 6
w 1 1 1 4 5 6
請寫乙個程式將p序列轉換成w序列。
輸入:第一行是乙個整數k,表示有多少個測試用例,以後每兩行乙個測試用例。每個測試用例第一行為乙個整數n(1 <= n <= 20),表示p序列長度,每個測試用例第二行n個非負整數,每個整數之間有乙個空格分隔。
輸出:每行輸出乙個測試用例的結果。每行包括n個整數,每個整數之間用乙個空格分隔。
sample input 26
4 5 6 6 6 6
94 6 6 6 6 8 9 9 9
sample output
1 1 1 4 5 6
1 1 2 4 5 1 1 3 9 //
#include
using namespace std;
int a[1000],stack[1000],count[1000];
char str[1010];
int main()
str[++s]=')';
sum++;
count[s]=sum;
}top=0;
for(i=1;i
ACM括號編碼 C 實現)
括號編碼 description s s1 s2.s2n 是乙個符合格式的括號的字串,s能按下面兩種方式編碼 p編碼 編碼是乙個整數序列p p1 p2.pn,pi是第i個右括號之前的左括號的數目。w編碼 編碼是乙個整數序列w p1 p2.pn,wi是第i個右括號的編碼值,它等於這個右括號到與之匹配的...
ACM非字首編碼 C 實現
非字首編碼 description 有很多方法可以實現使用2進製序列對字元進行編碼,比如典型的huffman編碼,如果在對字元的2進製編碼中不存在某乙個字元的編碼是另乙個字元編碼的字首,那麼就稱這種編碼方式為非字首編碼,huffman編碼就是一種非字首編碼。比如 a 00 b 10 c 0100 d...
ACM 括號匹配
時間限制 1000 ms 記憶體限制 65535 kb 難度 6 描述 給你乙個字串,裡面只包含 四種符號,請問你需要至少新增多少個括號才能使這些括號匹配起來。如 是匹配的 是匹配的 是不匹配的 是不匹配的 輸入 第一行輸入乙個正整數n,表示測試資料組數 n 10 每組測試資料都只有一行,是乙個字串...