非字首編碼
description
有很多方法可以實現使用2進製序列對字元進行編碼,比如典型的huffman編碼,如果在對字元的2進製編碼中不存在某乙個字元的編碼是另乙個字元編碼的字首,那麼就稱這種編碼方式為非字首編碼,huffman編碼就是一種非字首編碼。比如 a:00 b:10 c:0100 d:0101 則這種編碼為非字首編碼;a:01 b:10 c:010 d:0000,則這種編碼為字首編碼。
請寫乙個程式,判斷編碼是字首編碼還是非字首編碼。
輸入:
第一行是乙個整數k,表示有多少個測試用例,以後每行乙個測試用例。每個測試用例為若干個字串,字串之間有空格隔開(最大長度不超過1000)。
輸出:每行輸出乙個測試用例的結果。如果是非字首編碼輸出yes,否則輸出no。
sample input
201 10 0010 0000
01 10 010 0000
sample output
yesno
#include
#include
#define n 1000
using namespace std;
char str[n][n];
int len[n];
int cmp(const void *a,const void *b)
bool check(int i)
qsort(str,n,sizeof(str[0]),cmp);
len[0]=strlen(str[0]);
int i=0;
for(i=1;ilen[i])
continue;
else}}
if(flag)
cout<<"no"<
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 s s1 s2.s2n 是乙個符合格式的括號的字串,s能按下面兩種方式編碼 p編碼 編碼是乙個整數序列p p1 p2.pn,pi是第i個右括號之前的左括號的數目。w編碼 編碼是乙個整數序列w p1 p2.pn,wi是第i個右括號的編碼值,它等於這個右括號到與之匹配的...
ACM哈夫曼樹建立 哈夫曼編碼C 實現
include stdafx.h include define max 20 using namespace std typedef char valtype typedef double wghtype struct hfmnode 每個節點的編碼 code儲存編碼 start儲存編碼是從code...