oj2568: Programa de Estadísticas

Las preguntas formuladas
en un plano bidimensional infinita, que hacen las siguientes suposiciones:

1, sólo se puede mover un espacio;

2, no se puede volver atrás (asumiendo que su destino es "arriba", entonces usted puede ir a la izquierda, puede de inmediato, también se puede subir, pero no puede ir hacia abajo);

3, a través de la rejilla de inmediato colapso no puede caminar una segunda vez.

Buscando número de paso n tomar una realización diferente (en un proceso de dos etapas, siempre que no son los mismos, se considera que es un programa diferente).

Entrada

En primer lugar, un número entero positivo dado C, grupo C de datos de ensayo expresado.

C siguiente fila, cada fila contiene un entero n (n <= 20), n representa un paso de salir.

Salida

Por favor, tome el número total de diferentes esquemas programados de salida n pasos;

Cada fila de salida.

La entrada de la Muestra
Raw
2
. 1
2
la muestrear la salida
sin procesar
. 3
. 7
Según sujeto, un [1] = 3, a [2] = 7, ir un paso más allá después de cada análisis.
Hay tres direcciones para subir a la derecha e izquierda, de izquierda a subir dos dirección hacia la izquierda, dirección hacia la derecha de inmediato en dos direcciones
puede ser introducido un [3] = 17, una [4] = 41. El análisis de las condiciones pueden a[i] = a[i - 2] + 2 * a[i - 1];

completar código

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<math.h>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
	int m,n;
	cin>>n;
	int a[30];
	while(n--)
	{
		cin>>m;
	a[1] = 3;
    a[2] = 7;
    for(int i = 3; i <= m; i++)
        a[i] = a[i - 2] + 2 * a[i - 1];
	cout<<a[m]<<endl;
	}
	return 0;
}
Publicado 38 artículos originales · ganado elogios 27 · vistas 3181

Supongo que te gusta

Origin blog.csdn.net/qq_45891413/article/details/104979266
Recomendado
Clasificación