oj2568: Statistik-Programm

Fragen
in einer unendlichen zweidimensionalen Ebene, machen wir folgende Annahmen:

1, kann nur einen Raum bewegt werden kann;

2, kann nicht mehr zurück (Ihr Ziel unter der Annahme, „nach oben“, dann können Sie gehen Sie nach links, können Sie sofort, können Sie steigen auch, kann aber nicht nach unten gehen);

3, durch das Gitter unmittelbar Zusammenbruch kann nicht ein zweites Mal laufen.

Schrittnummer sucht n eine unterschiedliche Ausführungsform nehmen (auf einem zweistufigen Verfahren, solange es nicht die gleichen sind, gilt als ein anderes Programm sein).

Eingang

Zuerst wird eine vorgegebene positive ganze Zahl C, Gruppe C von Testdaten ausgedrückt.

nächste Zeile C, enthält jede Zeile eine ganze Zahl n (n <= 20), n für einen Abgang Schritt.

Ausgabe

Bitte nehmen Sie die Gesamtzahl der verschiedenen Systeme programmiert Ausgangs n Schritten;

Jede Zeile für die Ausgabe.

Die Eingabe der Probe
Rohmaterial
2
. 1
2
die Probe den Output
Raw
. 3
. 7
nach Themen, a [1] = 3, a [2] = 7, geht einen Schritt weiter nach jeder Analyse.
Es gibt drei Richtungen auf dem rechten Flügel nach oben und links, links zu gehen zwei Richtung nach links, nach rechts gerichteter Richtung direkt in zwei Richtungen
eingeführt werden kann , a [3] = 17, a [4] = 41. Die Analyse Bedingungen können a[i] = a[i - 2] + 2 * a[i - 1];

Code vervollständigen

#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;
}
Veröffentlicht 38 Originalarbeiten · erntete Lob 27 · Ansichten 3181

Ich denke du magst

Origin blog.csdn.net/qq_45891413/article/details/104979266
Empfohlen
Rangfolge