freeCodeCamp/curriculum/challenges/portuguese/08-coding-interview-prep/project-euler/problem-434-rigid-graphs.po...

2.4 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f51f1000cf542c510031 5 Problem 434: Rigid graphs Problema 434: Gráficos rígidos

Description

Lembre-se de que um grafo é uma coleção de vértices e arestas conectando os vértices, e que dois vértices conectados por uma aresta são chamados adjacentes. Os gráficos podem ser incorporados no espaço euclidiano associando cada vértice com um ponto no espaço euclidiano. Um grafo flexível é uma incorporação de um grafo onde é possível mover um ou mais vértices continuamente para que a distância entre pelo menos dois vértices não adjacentes seja alterada enquanto as distâncias entre cada par de vértices adjacentes são mantidas constantes. Um gráfico rígido é uma incorporação de um gráfico que não é flexível. Informalmente, um grafo é rígido se, ao substituir os vértices com dobradiças totalmente giratórias e as arestas com hastes que são inflexíveis e inelásticas, nenhuma parte do gráfico pode ser movida independentemente do resto do gráfico.

Os gráficos de grade incorporados no plano euclidiano não são rígidos, como demonstra a animação a seguir: No entanto, é possível torná-los rígidos adicionando bordas diagonais às células. Por exemplo, para o gráfico de grade de 2x3, há 19 maneiras de tornar o gráfico rígido: observe que, para o propósito desse problema, não consideramos alterar a orientação de uma aresta diagonal ou adicionar as arestas diagonais a uma célula como um diferente maneira de fazer um gráfico de grade rígido.

Seja R (m, n) o número de maneiras de tornar o gráfico de grade m × n rígido. Por exemplo, R (2,3) = 19 e R (5,5) = 23679901

Defina S (N) como ∑R (i, j) para 1 ≤ i, j ≤ NEg S (5) = 25021721. Encontre S (100), dê sua resposta modulo 1000000033

Instructions

Tests

tests:
  - text: <code>euler434()</code> deve retornar 863253606.
    testString: 'assert.strictEqual(euler434(), 863253606, "<code>euler434()</code> should return 863253606.");'

Challenge Seed

function euler434() {
  // Good luck!
  return true;
}

euler434();

Solution

// solution required