請問我的程式碼為何會TEL...
import java.util.Scanner;
public class a10 {
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
while(cin.hasNext()){
int a=cin.nextInt();
float sum=0;
for(int i=0;i<a*a;i++){
float b=cin.nextFloat();
float c=cin.nextFloat();
float d=cin.nextFloat();
sum+=0.2654*b+0.6704*c+0.0642*d;
System.out.printf("%.4f %.4f %.4f\n",0.5149*b+0.3244*c+0.1607*d,0.2654*b+0.6704*c+0.0642*d,0.0248*b+0.1248*c+0.8504*d);
}
System.out.printf("The average of Y is %.4f",sum/(a*a));
}
}
}
不知道為何我寫的跟我同學相似但是他是用C
我用JAVA難到跑的時間差那麼多嗎?
這一題的測資相當大,輸出有十幾萬行... 這題在考驗語言的 I/O 能力...
C 都要跑近 2 秒了... JAVA 超過 30 秒也是不過分...
這一題的測資相當大,輸出有十幾萬行... 這題在考驗語言的 I/O 能力...
C 都要跑近 2 秒了... JAVA 超過 30 秒也是不過分...
試試看用緩衝的IO (即:先存在緩衝區(String,StringBuffer等等),然後再一次System.out.printf出去)
這樣或許會快一些?
Java我不熟,只是用C/C++時有發現過這樣的用法。