#149266 - 2005-10-06 01:12 AM
Re: KiXgolf: Fragmentation - Public Coding
|
maciep
Korg Regular
   
Registered: 2002-06-14
Posts: 947
Loc: Pittsburgh
|
With a score of 225...
Code:
Function F($d) dim $u,$,$i,$j,$a[255],$b[255,15],$t[255] $u = ubound($d) for $j=0 to $u for $i=0 to $u $F=$d[$j]+$d[$i] $a[$u*$j+$j+$i]=$F $=ascan($a,$F) if 0=$b[$,$j] + $b[$,$i] + ($i=$j) $b[$,$j]=1 $b[$,$i]=1 $t[$]=$t[$]+2 if $t[$]=$u+1 exit ;endif ;endif ;next ;next EndFunction
|
|
Top
|
|
|
|
#149270 - 2005-10-06 01:54 AM
Re: KiXgolf: Fragmentation - Public Coding
|
Shawn
Administrator
   
Registered: 1999-08-13
Posts: 8611
|
heheee ....
Code:
;endif ;endif ;next ;next
You are a dirty dawg Eric ... thats why I like yah.
|
|
Top
|
|
|
|
#149272 - 2005-10-06 01:56 AM
Re: KiXgolf: Fragmentation - Public Coding
|
maciep
Korg Regular
   
Registered: 2002-06-14
Posts: 947
Loc: Pittsburgh
|
My code? I've been working with a group of developers from NASA to try and figure out wtf your $e var is doing 
Basically my code, just enumerates all possible combinations (for loops), keeps a count of how many times i've 'seen' that combination ($t array), ensures that a 'file piece' is only used once per combination ($b array) and also make sure i don't create a combination by adding a 'file piece' to itself - that would be impossible ($i=$j stuff)
if every piece can be used for the same combination (count=ubound+1) - we're done.
|
|
Top
|
|
|
|
#149273 - 2005-10-06 01:56 AM
Re: KiXgolf: Fragmentation - Public Coding
|
Lonkero
KiX Master Guru
   
Registered: 2001-06-05
Posts: 22346
Loc: OK
|
Code:
Function F($d) dim $u,$,$i,$j,$a[255],$b[255,15],$t[255] $u = ubound($d) for $j=0 to $u for $i=0 to $u $F=$d[$j]+$d[$i] $a[$u*$j+$j+$i]=$F $=ascan($a,$F) if 0=$b[$,$j] + $b[$,$i] + ($i=$j) $b[$,$j]=1 $b[$,$i]=1 $t[$]=$t[$]+2 if $t[$]>$u exit ;endif ;endif ;next ;next EndFunction
Code:
KiXtart Engine KiXtart Version = 4.50 (WKIX32.EXE) KiXGolf Script = kixgolf_fragmentation.kix
Computer OS = Windows 2000 Professional CPU = Intel Pentium III Speed = 797 MHz Memory = 376 MB
KiXGolf Scoring Engine Scoring Engine = 3.0.3
KiXGolf Score Tournament = Fragmentation Processing Start = 2005/10/06 02:34:45.393 Processing End = 2005/10/06 02:34:47.616 Duration = 0000/00/00 00:00:02.222 Used Processor Time = 00:00:01.812 # Tests Run = 180 # Tests Passed = 180 # Tests Failed = 0 Result = passed KiXGolf Score = 223
Thank you for participating in KiXtart Golf! Press any key to continue...
_________________________
!download KiXnet
|
|
Top
|
|
|
|
#149275 - 2005-10-06 01:59 AM
Re: KiXgolf: Fragmentation - Public Coding
|
maciep
Korg Regular
   
Registered: 2002-06-14
Posts: 947
Loc: Pittsburgh
|
Shawn, it's just the dawg in me
|
|
Top
|
|
|
|
#149281 - 2005-10-06 02:27 AM
Re: KiXgolf: Fragmentation - Public Coding
|
maciep
Korg Regular
   
Registered: 2002-06-14
Posts: 947
Loc: Pittsburgh
|
With a few modifications, like stealing Lonks use of a (instead of " ") as a separator, which was very smooth, here's an updated version of Allens's code with a score 233
Code:
function f($) dim $h,$c,$o,$t,$a $f=ubound($) do $h=$c+1 do $a=$[$c]+$[$h] if len($a)=2*len(join($,""))/($f+1) $o=$o + a +$a+ a+ $[$h]+$[$c] endif $h=$h+1 until $h>$f $c=$c+1 until $c=$f for each $ in split($o,a) $h=ubound(split($o,$)) if $h>$t $t=$h $f=$ ;endif ;next endfunction
|
|
Top
|
|
|
|
Moderator: Arend_, Allen, Jochen, Radimus, Glenn Barnas, ShaneEP, Ruud van Velsen, Mart
|
0 registered
and 583 anonymous users online.
|
|
|