这道题比较水,早上起来a了他,感觉价值不大。。。
代码如下
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int isD(char* s, char* t){
int i, lens, lent;
lens = strlen(s);
lent = strlen(t);
i = 0;
while(s[i] == t[i] && i < lens && i < lent){
i++;
}
if(i == lens || i == lent) return 1;
return 0;
}
int main()
{
int i, j, k, state, ta;
char cod[8][15];
char ch[15];
ta = 0;
i = 0;
state = 0;
while(scanf("%s", ch) != EOF){
if(strcmp(ch, "9")){
strcpy(cod[i++], ch);
}
else{
ta++;
k = i;
for(i = 0; i < k; ++i){
for(j = i + 1; j < k; ++j){
if(isD(cod[i], cod[j])) state = 1;
}
}
if(!state) printf("Set %d is immediately decodable\n", ta);
else printf("Set %d is not immediately decodable\n", ta);
memset(cod, 0, sizeof(cod));
i = 0;
state = 0;
}
}
return 0;
}