55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| id: 5900f4e81000cf542c50fffb
 | ||
| title: 'Problema 380: Labirintos fantásticos!'
 | ||
| challengeType: 5
 | ||
| forumTopicId: 302044
 | ||
| dashedName: problem-380-amazing-mazes
 | ||
| ---
 | ||
| 
 | ||
| # --description--
 | ||
| 
 | ||
| Um labirinto $m×n$ é uma grade retangular $m×n$ com paredes colocadas entre as células da malha de forma que haja exatamente um caminho do quadrado superior esquerdo para qualquer outro quadrado. Os exemplos a seguir são de um labirinto 9×12 e de um labirinto 15×20:
 | ||
| 
 | ||
| <img class="img-responsive center-block" alt="labirinto 9x12 e labirinto 15x20" src="https://cdn.freecodecamp.org/curriculum/project-euler/amazing-mazes.gif" style="background-color: white; padding: 10px;" />
 | ||
| 
 | ||
| Considere $C(m, n)$ como o número de labirintos distintos $m×n$. Os labirintos que podem ser criados por rotação e reflexão de outro labirinto são considerados distintos.
 | ||
| 
 | ||
| Pode-se verificar que $C(1, 1) = 1$, $C(2, 2) = 4$, $C(3, 4) = 2415$ e $C(9, 12) = 2.5720\mathrm{e}\\,46$ (na notação científica, arredondado para 5 algarismos significantes).
 | ||
| 
 | ||
| Encontre $C(100, 500)$ e escreva sua resposta em uma string em notação científica arredondada para 5 algarismos significativos.
 | ||
| 
 | ||
| Ao dar sua resposta, use letra minúscula para separar a mantissa e o expoente. Ex: se a resposta for 1234567891011, o formato da resposta deve ser a string `1.2346e12`.
 | ||
| 
 | ||
| # --hints--
 | ||
| 
 | ||
| `amazingMazes()` deve retornar uma string.
 | ||
| 
 | ||
| ```js
 | ||
| assert(typeof amazingMazes() === 'string');
 | ||
| ```
 | ||
| 
 | ||
| `amazingMazes()` deve retornar a string `6.3202e25093`.
 | ||
| 
 | ||
| ```js
 | ||
| assert.strictEqual(amazingMazes(), '6.3202e25093');
 | ||
| ```
 | ||
| 
 | ||
| # --seed--
 | ||
| 
 | ||
| ## --seed-contents--
 | ||
| 
 | ||
| ```js
 | ||
| function amazingMazes() {
 | ||
| 
 | ||
|   return true;
 | ||
| }
 | ||
| 
 | ||
| amazingMazes();
 | ||
| ```
 | ||
| 
 | ||
| # --solutions--
 | ||
| 
 | ||
| ```js
 | ||
| // solution required
 | ||
| ```
 |