本文主要是介绍iNOC产品部-杨辉三角的变形(第二种方法也可以通过,测试数据太弱,n10000就会爆的),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
// iNOC产品部-杨辉三角的变形(第二种方法也可以通过,测试数据太弱,n>10000就会爆的)
#include<bits/stdc++.h>
using namespace std;
int F(int n,int k)
{if(k==1||k==2*n-1)return 1;if(k<1||k>2*n-1)return 0;return F(n-1,k)+F(n-1,k-1)+F(n-1,k-2);
}
int main()
{int n;while(cin>>n){for(int i=1; i<=2*n-1; i++){if(F(n,i)%2==0){cout<<i<<endl;break;}else if(i==2*n-1){cout<<"-1"<<endl;}}}return 0;
}#include<bits/stdc++.h>
using namespace std;
int main()
{int n;while(cin>>n){if(n==1||n==2)cout<<"-1"<<endl;else{vector<int>v1;for(int i=0; i<3; i++) v1.push_back(1);for(int i=2; i<n; i++){vector<int>v2(v1.size()+2);v2[0]=1;v2[1]=i;v2[v2.size()-1]=1;v2[v2.size()-2]=i;for(int j=2; j<=v2.size()-3; j++){int sum=0;for(int k=0; k<3; k++){sum+=v1[k+j-2];}v2[j]=sum;}v1.push_back(0);v1.push_back(0);for(int m=0; m<v2.size(); m++) v1[m]=v2[m];}int i;for(i=0; i<v1.size(); i++){if(v1[i]%2==0){cout<<i+1<<endl;break;}}if(i==v1.size())cout<<"-1"<<endl;}}return 0;
}
这篇关于iNOC产品部-杨辉三角的变形(第二种方法也可以通过,测试数据太弱,n10000就会爆的)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!