POJ 1056 IMMEDIATE DECODABILITY 水题

POJ 1056 IMMEDIATE DECODABILITY 水题

 

#include  < stdio.h >

int  hash[ 12 ][ 2048 ];
char  arr[ 24 ][ 24 ];
int  cnt;

int  solve( int  t)
{
    
int i, j;
    
char *s, *str;

    
for (j = 0; j < cnt; j++{
        i 
= 0;
        str 
= arr[j];
        
for (s = str; *== '0' || *== '1';  s++{
            i 
<<= 1;
            i 
|= *- '0';
            
if (hash[s - str][i] == t) 
                
return 0;
        }

        hash[s 
- str - 1][i] = t;
    }

    
return 1;
}


int  main()
{
    
char *s;
    
int t;

    freopen(
"e:\\test\\in.txt""r", stdin);

    
for (t = 1; ; t++{
        
for (cnt = 0; ; cnt++{
            
if (scanf("%s", arr[cnt]) == EOF)
                
return 0;
            
if (arr[cnt][0== '9'
                
break;
        }

        printf(
"Set %d is %simmediately decodable\n", t, !solve(t) ? "not " : "");
    }


    
return 0;
}

你可能感兴趣的:(POJ 1056 IMMEDIATE DECODABILITY 水题)