Help for this page

Select Code to Download


  1. or download this
    sub mu {
    for(@s=($_[0],$c=0);$c<$_[2];){($_=shift@s or$c++,$s[@s]=0,next
    )eq$_[1]&&return$c;$s[@s]="$_$1"if/^M/;/I$/and$s[@s]=$_.U;$s[
    @s]="$`$'"while/UU/g;$s[@s]=$`.U.substr$',2while/I(?=II)/g}0
    }
    
  2. or download this
    print mu( "MUUUU", "M", 20 );   # returns 2
    print mu( "MI", "MU", 7 );      # returns 0
    print mu( "MI", "MI", 20 );     # returns 0
    ...
    print mu( "MI", "MUIUI", 3 );   # returns 0
    print mu( "MIIII", "MIU", 4);   # returns 1
    print mu( "MI", "MIIU", 4);     # returns 2