您的位置:首页 > 其它

poj 1056 判断前缀

2012-02-09 15:21 218 查看
题意:输入一些二进制编码,判断是否有是其它编码前缀的编码,如果有则输出...not...。没有则可编码。每组输入数据以9为结束标志。

#include<iostream>
using namespace std;
int main()
{
char str[15][15];
int i=0,h=1,j,k,len1,len2,flag=0;
while(scanf("%s",str[i++])!=EOF)
{
if(str[i-1][0]=='9')
{
for(j=0;j<i-1;j++)
{
len1=strlen(str[j]);
for(k=0;k<i-1;k++)
{
if(k==j) continue;
len2=strlen(str[k]);
if(len1<len2)
{
if(strncmp(str[j],str[k],len1)==0)
{
flag=1;
goto loop;
}
}
}
}
loop:
{
if(!flag) printf("Set %d is immediately decodable\n",h++);
else printf("Set %d is not immediately decodable\n",h++);
i=0;
flag=0;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: