View Code of Problem 108

#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
#include<climits>
#include<cmath>
#include<map>
#include<set>

using namespace std;


int main()
{
	int n;

	while (cin >> n) {

		for (int i = 0; i < n; i++) {

			string str;
			cin >> str;

			if (str.size() < 3) {

				cout << str.size() << endl;
				continue;
			}

			vector<long> dp(str.size() + 1);
			dp[1] = 1;
			dp[2] = 2;

			for (int j = 3; j <= str.size(); j++)
				dp[j] = dp[j - 1] + dp[j - 2];

			cout << dp[str.size()] << endl;
		}
	}


}

Double click to view unformatted code.


Back to problem 108