lunes, 27 de junio de 2016

PHP para programacion competitiva

//CF 359
Convertir cadenas a enteros;
<?php

$string = "1,2,3";
$ids = explode(',', $string);
var_dump($ids);

echo "<br/>"; //print "<br>";

$integerIDs = array_map('intval', explode(',', $string));
var_dump($integerIDs);

//**********************
//entrada estandar
// $in = fopen("php://stdin","r");
//$in = STDIN;

// Leer varios valores en un linea a la vez
$in = fopen("input.txt","r");
list($n,$x) = explode(' ',trim(fgets($in)));

//alternativa
$in = fopen("input.txt","r");
fscanf($in,"%d %d",$n,$x); //para leer caracter y entero: fscanf($in," %c %d",$a,$b);

//**********************
//Otro metodo
$in = fopen("input.txt","r");
list($n,$x) = explode(' ',trim(fgets($in)));
$nds=0;
while (!feof($in))
{
 list($s,$d) = explode(' ',trim(fgets($in)));
 if($s == '-')
 {
   if($d <= $x)
     $x -= $d;
   else
     $nds++;
 }
 else
   $x += $d;
}
echo "$x $nds";

/*para la entrada
5 17
- 16
- 2
- 98
+ 100
- 98
*/

//parecido al anterior
<?php

$in = fopen("input.txt","r");
fscanf($in,"%d %d",$n,$x);
$nds=0;
while (!feof($in))
{
 fscanf($in,"%c %d",$s,$d);
 if($s == '-')
 {
   if($d <= $x)
     $x -= $d;
   else
     $nds++;
 }
 else
   $x += $d;
}
echo "$x $nds";

//revisar
<?php

$in = fopen("input.txt","r");
fscanf($in,"%d %d",$n,$x);
$nds=0;
while (fscanf($in,"%c %d",$s,$d)) 
{
 if($s == '-')
 {
   if($d <= $x)
     $x -= $d;
   else
     $nds++;
 }
 else
   $x += $d;
}
echo "$x $nds";

No hay comentarios:

Publicar un comentario