6 ADD Dune BORROW Dune BORROW Dune RETURN Dune BORROW Dune BORROW Other
OK FAIL OK FAIL
<?php
class Library{
private $avail=[];
function add($b){ $this->avail[$b]=true; }
function borrow($b){
if(isset($this->avail[$b]) && $this->avail[$b]===true){ $this->avail[$b]=false; return 'OK'; }
return 'FAIL';
}
function ret($b){ if(isset($this->avail[$b])) $this->avail[$b]=true; }
}
$inputLines=preg_split('/\\R/', rtrim(stream_get_contents(STDIN)));
if(!$inputLines || trim($inputLines[0])==='') exit;
$q=intval($inputLines[0]);
$lib=new Library(); $output=[];
for($i=1;$i<=$q;$i++){
$tokens=preg_split('/\\s+/', trim($inputLines[$i] ?? ''), 2);
$cmd=$tokens[0] ?? '';
$arg=$tokens[1] ?? '';
if($cmd==='ADD') $lib->add($arg);
elseif($cmd==='BORROW') $output[]=$lib->borrow($arg);
elseif($cmd==='RETURN') $lib->ret($arg);
}
echo implode(PHP_EOL,$output);
?>
<?php
class Library{
private $avail=[];
function add($b){ $this->avail[$b]=true; }
function borrow($b){
if(isset($this->avail[$b]) && $this->avail[$b]===true){ $this->avail[$b]=false; return 'OK'; }
return 'FAIL';
}
function ret($b){ if(isset($this->avail[$b])) $this->avail[$b]=true; }
}
$inputLines=preg_split('/\\R/', rtrim(stream_get_contents(STDIN)));
if(!$inputLines || trim($inputLines[0])==='') exit;
$q=intval($inputLines[0]);
$lib=new Library(); $output=[];
for($i=1;$i<=$q;$i++){
$tokens=preg_split('/\\s+/', trim($inputLines[$i] ?? ''), 2);
$cmd=$tokens[0] ?? '';
$arg=$tokens[1] ?? '';
if($cmd==='ADD') $lib->add($arg);
elseif($cmd==='BORROW') $output[]=$lib->borrow($arg);
elseif($cmd==='RETURN') $lib->ret($arg);
}
echo implode(PHP_EOL,$output);
?>