| ||||||||||
| 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 | |||||||||
谁能帮我看看为什么一直WA呢#include<iostream>
#include<string.h>
using namespace std;
int a[200010];
int b[200010];
int p[200010];
int main()
{
int n,k;
int i,j;
while(cin>>n>>k)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(p,0,sizeof(p));
a[0]=n;
p[n+1]=1;
b[0]=0;
i=0;
j=1;
while(i<j)
{
if(a[i]==k) break;
if((a[i]-1)>=0&&!p[a[i]])
{
a[j]=(a[i]-1);
b[j]=b[i]+1;
++j;
}
if((a[i]+1)<=100000&&!p[a[i]+2])
{
a[j]=(a[i]+1);
b[j]=b[i]+1;
++j;
}
if((2*a[i])<=100000&&!p[a[i]*2+1])
{
a[j]=2*a[i];
b[j]=b[i]+1;
++j;
}
i++;
}
cout<<b[i]<<endl;
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator