Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:为什么总是REIn Reply To:为什么总是RE Posted by:00448322 at 2009-07-19 03:20:55 我觉得可能是那个MAX开小了,访问越界了吧 没说数不大于250吧 我做的时候还特地看了的 我后来拿不准 直接用的map<long long,map<long long ,long long > > .... > 本机运行提前打表都没问题,一提交就RE 请问为什么 > > #include<iostream> > using namespace std; > > const int MAXSIZE=250; > __int64 dp[MAXSIZE][MAXSIZE]; > > > > void caculate() > { > dp[1][1]=1; > dp[2][1]=2; > dp[2][2]=1; > dp[3][1]=2; > dp[3][2]=1; > dp[3][3]=1; > for(int i=4; i<=MAXSIZE; i++) > { > for(int j=i/2+1; j<=i; j++) > dp[i][j]=1; > if(i%2==0) > dp[i][i/2]=2; > else > dp[i][i/2]=1; > for(int j=i/2-1; j>=1; j--) > { > __int64 temp=0; > if(i-2*j>0) > temp=dp[i-2*j][j]; > dp[i][j]=dp[i][j+1]+temp; > } > } > } > > > int main() > { > int n; > caculate(); > while(cin>>n) > { > if(n==0) > break; > printf("%d %I64d\n",n,dp[n][1]); > > > } > > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator