老哥你这个好像有点问题,第一个测试用例输出是8哎。
这是我黑白鼠那道题代码,仅供参考:
//#include <iostream>
//using namespace std;
//
//struct mouse
//{
// int first;
// int second;
// int third;
//};
//
//int GetDifference(int year, int k)
//{
// mouse white = { 0 }, black = { 0 };
// white.first = black.first = k;
// for (int i = 0; i < year; ++i)
// {
// white.third = white.second;
// int tmp = white.first;//k
// white.first = white.first * 2 + white.second * 3;
// white.second = tmp;
//
// black.second = black.first;
// black.first *= 3;
// }
// int value = white.first + white.second + white.third\
// - black.first - black.second;
// return value >= 0 ? value : (-value);
//}
//
//int main()
//{
// int n, m;
// //cin >> n>> m;
// n = 3, m = 5;
// int ret = GetDifference(n, m);
// cout << ret << endl;
// system("pause");
// return 0;
//}