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

1012的超时问题啊,输入的k在0<k<14

Posted by lingkey at 2007-08-14 22:16:38
我用13测试的时候,结果是2504881了,该怎么改进啊,没思路了

import java.io.*;
import java.util.*;

public class Main{
	
	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub

		Scanner in = new Scanner(System.in);
		int k,t,kick,j,len;
		//long start = System.currentTimeMillis();
		while(true){
			k = in.nextInt();
			if(k==0)break;
			len = 2*k;
			for(int i=k+1;;){
				kick = i%len;
				if(kick==1){
					i = i+k;
					continue;
				}else if(kick==0) t=0;
				else t = kick-1;
				
				for(j=1;j<k;j++){
					kick = (t+i)%(len-j);
					if(kick>0&&kick<=k){
						break;
					}else if(kick==0)t=0;
					else t = kick-1;
				}
				
				if(j==k){
					System.out.println(i);
					break;
				}
				i++;
			}
		}

		//long end = System.currentTimeMillis();
		//System.out.println((end-start));

	}

}

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