All pastes #582049 Raw Edit

logic2

public text v1 · immutable
·published 2007-06-21 20:37 UTC
rendered paste body
<?php

$data = filegetcontent('data');
$data = unserialize($data);


//array structure
//$array[$name]['greater'][$name]  above
//$array[$name]['lesser'][$name]  lower


function insert($a, $b){
globalr $array;
$array[$a]['lesser'][$b] = $b;
$array[$b]['greater'][$a] = $a;
}
	
function pick($a, $b){
	//first, see if $a is in any of the array
	if($array[$a] == null){
		return $b;
	}
	if($array[$b] == null){
		return $a;
	}
	//now.. both can't be null
	
	if($array[$b]['greater'][$a]||$array[$a]['lesser'][$b]){
		return $a;
	}
	if($array[$a]['greater'][$b]||$array[$b]['lesser'][$a]){
		return $b;
	}
	return $a;
}

function normalize(){
	globar $array;
foreach($array as $key=>$var){
	foreach($array as $key2=>$var2){
		if(in_array($key,$array[$key2]['lesser'])){
			$array[$key]['greater'] = array_merge($array[$key]['greater'],$array[$key2]['greater']);
			$array[$key]['greater'][$key2] = $key2;
		}elseif(in_array($key,$array[$key2]['greater'])){
			$array[$key]['lesser'] = array_merge($array[$key]['lesser'],$array[$key2]['lesser']);
			$array[$key]['lesser'][$key2] = $key2;
		}
		if($key2==$key){
			continue;
		}
	}
}
}
?>