Java 输入输出效率优化黑科技get
刚开始,用最常规的输入输出:
import java.util.*; Scanner scan=new Scanner(System.in); System.out.println("...");
面对海量输入输出数据,TLE妥妥的
接着有了下面这种姿势(输入流?):
import java.util.*; import java.io.*; Scanner scan=new Scanner(new BufferedInputStream(System.in));
效果不太理想。
最后查阅大神用于处理水题的代码,获得以下终极模板:
import java.io.*; /*...*/ public static void main(String[] args) throws IOException { StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out)); while(in.nextToken() != StreamTokenizer.TT_EOF){ n=(long)in.nval; in.nextToken(); m=(long)in.nval; out.println(n+" "+m); } out.flush();//刷新。若本行放循环体内,则毎输入一组数据即输出一组答案,但是效率降低 out.close(); }
Java 输入输出效率优化黑科技get