| ||||||||||
| 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:基本的回溯题,咋这么少的人AC了呢。。贴AC代码In Reply To:基本的回溯题,咋这么少的人AC了呢。。贴AC代码 Posted by:yzhw at 2009-06-22 08:39:35 > Source Code
>
> Problem: 1078 User: yzhw
> Memory: 5728K Time: 313MS
> Language: Java Result: Accepted
>
> Source Code
> import java.util.*;
> import java.io.*;
> public class Main {
>
> static boolean used[]=new boolean[101];
> static boolean flag,find;
> static boolean chk(int pos,int num1,int num2)
> {
> if(num1==1)
> {
> if(flag) return true;
> else
> {
> flag=find=true;
> if(chk(1,num2,num2)) return true;
> flag=false;
> return false;
> }
>
> }
> else if(pos>100) return false;
> else
> {
> for(int i=pos;i<=100;i++)
> {
> if(num1%i==0&&!used[i])
> {
> used[i]=true;
> if(chk(pos+1,num1/i,num2)) return true;
> used[i]=false;
> }
> }
> return false;
> }
>
> }
> public static void main(String[] args) throws Exception{
> Scanner in=new Scanner(new BufferedReader(new InputStreamReader(System.in)));
> int a,b;
> while(in.hasNextInt())
> {
> a=in.nextInt();
> b=in.nextInt();
> if(a<b)
> {
> a=a+b;
> b=a-b;
> a=a-b;
> }
> flag=false;
> find=false;
> Arrays.fill(used, false);
> boolean res=chk(1,b,a);
> if(res) System.out.println(a);
> else if(find) System.out.println(b);
> else System.out.println(a);
>
> }
>
> }
>
> }
>
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator