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

Re:改进了一点点,变成32ms 740kb了,虽然也不快

Posted by TSERROF at 2012-10-19 11:48:43 on Problem 1426
In Reply To:先贴一个bfs,再看看dfs Posted by:TSERROF at 2012-10-19 11:01:38
#include<iostream>
#include <cstring>
#include <queue>
using namespace std;
int n;
bool repeat[201];
long long BFS()
{
	queue<long long>ans;
	ans.push(1);
	while(!ans.empty())
	{
		if(ans.front()%n==0)return ans.front();
		repeat[ans.front()%n]=true;
		if(!repeat[(ans.front()*10)%n])ans.push(ans.front()*10);
		if(!repeat[(ans.front()*10+1)%n])ans.push(ans.front()*10+1);
		ans.pop();
	}
	return 0;
}
int main()
{
	while(cin>>n && n)cout<<BFS()<<endl;
	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