U E D R , A S I H C RSS

식인종과선교사문제/변형진

는데 되는 Backtracking 기법 고 구는 방법 , Case-by-case로 리 방법 다.
가능 모든 cases를 결과 각각 따라 3가 기 방법 다.

그러나 방법 모든 cases를 므로 결 방법 다.

는 구 만, 모든 cases 각각 떻게 를 먼 DB 면, Backtracking보다 나 ?

~php
<?
$s = new survive();
$s->to_right();
class survive
{
	var $left, $right;
	function __construct()
	{
		$this->left = array("canni" => 3, "missi" => 3);
		$this->right = array("canni" => 0, "missi" => 0);
	}
	function to_right()
	{
		if($this->left[canni]==$this->left[missi]&&$this->left[canni]==3) $this->ferry(1,1);
		elseif($this->left[canni]<>$this->left[missi]&&$this->left[canni]>1) $this->ferry(2,0);
		else $this->ferry(0,2);
		$this->to_left();
	}
	function to_left()
	{
		if($this->right[canni]==$this->right[missi]&&$this->right[canni]==2) $this->ferry(-1,-1);
		elseif($this->right[canni]==$this->right[missi]) $this->ferry(0,-1);
		else $this->ferry(-1,0);
		$this->to_right();
	}
	function ferry($canni, $missi)
	{
		if($canni>=0&&$missi>=0) echo "  {$this->right[canni]}+$canni,  {$this->right[missi]}+$missi<br>";
		elseif($canni<=0&&$missi<=0) echo "  {$this->left[canni]}+".(-$canni).",  {$this->left[missi]}+".(-$missi)."<br>";
		else die("러: $canni, $missi");
		$this->left[canni] -= $canni; $this->left[missi] -= $missi;
		$this->right[canni] += $canni; $this->right[missi] += $missi;
		if(!$this->left[canni]&&!$this->left[missi]) exit();
	}
}
?>


thread


  • 모든 를 DB 는것과 게 머러닝 게 만들면(문 state를 다가 는것므로 다고 다) 답률 나 나? - bluemir



Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:18
Processing time 0.0100 sec