Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

为啥3278我的结果和正确的结果一样却还说wrong answer???

Posted by harrymwz at 2009-08-25 17:03:45
#include<iostream>
#include<queue>
using namespace std;

queue<int> iq;
int front=0,rear=1,trear=1,cnt=0;
int visit[100000]={0};

void bfs(long n,long k){
    while(front<rear){
       long n=iq.front();
       iq.pop();
       if(n==k){cout<<cnt<<endl; return;}
       if(n-1<=k&&!visit[n-1]){iq.push(n-1);visit[n-1]=1; ++trear;} 
       if(n+1<=k&&!visit[n+1]){iq.push(n+1);visit[n-1]=1; ++trear;} 
       if(n*2<=k&&!visit[n*2]){iq.push(n*2);visit[n*2]=1; ++trear;}                
       ++front;
    } 
    front=rear; rear=trear;++cnt;
    bfs(iq.front(),k);    
}
int main(){
  int n,k;
  //memset(visit,0,sizeof visit);
  cin>>n>>k;
  if(n>=k) {cout<<n-k<<endl;return 0;}
  iq.push(n);
  visit[n]=1;
  bfs(n,k);
  //system("pause");
  return 0;    
}


Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator