Andry1910 / listadeatividades

0 stars 0 forks source link

parte 2 #1

Open Andry1910 opened 1 year ago

Andry1910 commented 1 year ago

QUESTAO 8

<?php

while ($line = fgets(STDIN)) { $line = rtrim($line); $count = count_chars($line, 1); $odd_count = 0; foreach ($count as $char => $freq) { if ($freq % 2 == 1) { $odd_count++; } } echo max(0, $odd_count - 1) . "\n"; }

?>

QUESTAO 9

<?php

for ($i = 0; $i < $C; $i++) {

$mensagem_codificada = trim(fgets(STDIN));

$mensagem_decodificada = '';

for ($j = 0; $j < strlen($mensagem_codificada); $j++) {

    if (ctype_alpha($mensagem_codificada[$j])) {

        $letra_decodificada = chr(ord($mensagem_codificada[$j]) - 3);

        if (ord($letra_decodificada) < ord('A')) {
            $letra_decodificada = chr(ord($letra_decodificada) + 26);
        }
        $mensagem_decodificada .= $letra_decodificada;
    } else {
        $mensagem_decodificada .= $mensagem_codificada[$j];
    }
}
echo $mensagem_decodificada . "\n";

}

?>

QUESTAO 10

<?php

$n = intval(fgets(STDIN));

for ($i = 1; $i <= $n; $i++) {

list($m1, $v2) = sscanf(fgets(STDIN), "%d x %d"); list($v1, $m2) = sscanf(fgets(STDIN), "%d x %d"); $placar1 = $m1 + $v2; $placar2 = $m2 + $v1;

if ($placar1 > $placar2) { echo "Time 1\n"; } elseif ($placar2 > $placar1) { echo "Time 2\n"; } else { $saldo1 = $m1 - $m2 + $v2 - $v1; $saldo2 = $m2 - $m1 + $v1 - $v2; if ($saldo1 > $saldo2) { echo "Time 1\n"; } elseif ($saldo2 > $saldo1) { echo "Time 2\n"; } else { if ($v2 > $v1) { echo "Time 1\n"; } elseif ($v1 > $v2) { echo "Time 2\n"; } else { echo "Penaltis\n"; } } } }

?>

QUESTAO 11

<?php

function fib($n, &$num_calls) { $num_calls++;

if ($n == 0) {
    return 0;
} elseif ($n == 1) {
    return 1;
}
return fib($n-1, $num_calls) + fib($n-2, $num_calls);

}

$n = intval(fgets(STDIN));

for ($i = 0; $i < $n; $i++) { $x = intval(fgets(STDIN)); $num_calls = 0; $result = fib($x, $num_calls); echo "fib($x) = $num_calls calls = $result\n"; }

?>

QUESTAO 12

<?php

class Camiseta { public $nome; public $cor; public $tamanho;

public function __construct($nome, $cor, $tamanho) {
    $this->nome = $nome;
    $this->cor = $cor;
    $this->tamanho = $tamanho;
}

public function __toString() {
    return $this->nome . "\n" . $this->cor . " " . $this->tamanho . "\n";
}

}

while (true) { $n = intval(trim(fgets(STDIN)));

if ($n == 0) {
    break;
}

$camisetas = array();
for ($i = 0; $i < $n; $i++) {
    $nome = trim(fgets(STDIN));
    $info = explode(" ", trim(fgets(STDIN)));
    $cor = $info[0];
    $tamanho = $info[1];
    $camisetas[] = new Camiseta($nome, $cor, $tamanho);
}

usort($camisetas, function($a, $b) {
    if ($a->cor != $b->cor) {
        return strcmp($a->cor, $b->cor);
    } else if ($a->tamanho != $b->tamanho) {
        return strcmp($b->tamanho, $a->tamanho);
    } else {
        return strcmp($a->nome, $b->nome);
    }
});

foreach ($camisetas as $camiseta) {
    echo $camiseta;
}
echo "\n"; // Imprimir uma linha em branco entre dois casos de teste

}

?>

QUESTAO 13

while (true) { list($q, $d, $p) = explode(" ", trim(fgets(STDIN)));

if ($q == 0 && $d == 0 && $p == 0) {
    break;
}

$pages = ($q * ($d + 1)) / ($d - $p);

if ($pages == 1) {
    echo "1 pagina\n";
} else {
    echo intval($pages) . " paginas\n";
}

}

?>

QUESTAO 14

<?php

$n = intval(trim(fgets(STDIN)));

$tabuleiro = array(); for ($i = 0; $i < $n; $i++) { $linha = explode(" ", trim(fgets(STDIN))); $tabuleiro[] = $linha; }

$resultado = array(); for ($i = 0; $i < $n; $i++) { $resultado[$i] = array_fill(0, $n, 0); }

for ($i = 0; $i < $n; $i++) { for ($j = 0; $j < $n; $j++) { if ($tabuleiro[$i][$j] == 1) { $resultado[$i][$j]++; if ($j > 0) { $resultado[$i][$j-1]++; } if ($j < $n-1) { $resultado[$i][$j+1]++; } } } }

for ($i = 0; $i < $n; $i++) { for ($j = 0; $j < $n; $j++) { echo $resultado[$i][$j] . " "; } echo "\n"; }

?>