64,660
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<list>
#include<vector>
#include<string>
#define SIZE 201
using namespace std;
void calcuate( )
{
int m=0;
int n;
vector<int>store;
int array[SIZE][SIZE];
array[1][1]=1;
array[2][1]=1;
array[2][2]=1;
array[3][1]=1;
array[3][2]=2;
array[3][3]=1;
for(int i=4;i<SIZE;++i )
{
array[i][i]=1;
array[i][1]=1;
for(int j=i-1,line=i-1;j>1;--j)
{
/* if(i==25)
cin>>n;*/
if((array[line][j]+array[line][j-1])<10&&m==0)
array[i][j]=(array[line][j]+array[line][j-1]);
else if((array[line][j]+array[line][j-1])<10&&(array[line][j]+array[line][j+1])>=10)
array[i][j]=((array[line][j]+array[line][j-1])+1)%10;
else
{
if((array[line][j]+array[line][j-1])<10)
array[i][j]=(array[line][j]+array[line][j-1]);
if(((array[line][j]+array[line][j-1])>=10))
++m;
if(((array[line][j]+array[line][j-1])>=10)&&(m==1))
array[i][j]=(array[line][j]+array[line][j-1])%10;
else
array[i][j]=(array[line][j]+array[line][j-1])%10+(array[line][j]+array[line][j-1])/10;
}
}
m=0;
}
cin>>n;
for(int i=0;i<n;++i)
{ cin>>m;
store.push_back(m);
cin.clear();
}
for(int i=0;i!=store.size();++i)
{
int four=(store[i]*2+array[store[i]+1][store[i]+1-3])%10;
cout<<four*1000+array[store[i]+1][store[i]+1-2]*100+array[store[i]+1][store[i]+1-1]*10+array[store[i]+1][store[i]+1]<<endl;
}
}
int main()
{
calcuate();
return 0;
}