题目:
分析:先构造该变形的杨辉三角,再求值
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n;//n行
while(cin>>n)
{
vector<vector<int>> vv(n);
for(int i=0;i<n;i++)
{
vv[i].resize(2*n+2);//注意每一行要开以最大行的列数再多一点,防止越界
vv[i][1]=1;//每一行的第二个数(下标为1)位1
vv[i][2*i+1]=1;//每一行的最后一个数字是1(不包括后面的0)
}
//计算其它位置值
for(int i=1;i<n;i++)
{
for(int j=2;j<2*n+2;j++)
{
vv[i][j]=vv[i-1][j]+vv[i-1][j-1]+vv[i-1][j-2];
}
}
//计算第n行第一个偶数下标
//注意,由于第一列是多添的0,因此要从第一列开始算
for(int i=1;i<n;i++)
{
if(vv[n-1][i]%2==0)
{
cout<<i<<endl;
break;
}
}
}
return 0;
}