| ||||||||||
| 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 | |||||||||
1012的超时问题啊,输入的k在0<k<14我用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: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator