本文目录一览:
在acm上Java程序要有什么格式吗?
JAVA的a+b
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
System.out.println(a + b);
}
}
(1) 最明显的好处是,学会Java,可以参加Java Challenge :)
(2) 对于熟悉C/C++的程序员来说,Java 并不难学,找本书,一两周业余时间就可以搞定了。当然,这里只是指一般编程,想熟悉所有的Java库还是需要些时间的。
事实上,Java 只相当于C++的一个改进版,所有的语法都几乎是C++的,很少有变动。
(3) 在一般比赛中,Java程序会有额外的时间和空间,而实际上经过实验,在执行计算密集任务的时候Java并不比C/C++慢多少,只是IO操作较慢而已。
(4) Java 简单而功能强大,有些东西用Java实现起来更为方便,比如高精度。
(5) 用Java不易犯细微的错误,比如C/C++中的指针, “if (n = m) ... ” 等
(6) 目前来看Eclipse已成基本配置,写Java程序反而比C/C++更方便调试。在具体竞赛时也算多一种选择。
(7) 学会Java对以后工作有好处。现在国外很多地方会Java的人比会C/C++的人多。
(8) 会Java可以使你看起来更像偶蹄类动物(牛)
ACM Java 数据读入问题
读入n,建立二维数组new char[n][n]有什么问题啊?
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Test {
public static void main(String[] args) throws FileNotFoundException {
int n, k;
Scanner scanner = new Scanner(new File("test.txt"));
n = scanner.nextInt();
while (n != -1) {
k = scanner.nextInt();
scanner.nextLine();
boolean[][] matrix = new boolean[n][n];
for (int i = 0; i n; ++i) {
String s = scanner.nextLine();
for (int j = 0; j n; ++j) {
matrix[i][j] = s.charAt(j) == '#';
}
}
solve(matrix, n, k);
n = scanner.nextInt();
}
}
static void solve(boolean[][] matrix, int n, int k) {
// your algorithm code here
}
}
---------------------------------------------------------
还是不行是什么意思?我的代码我是测试过的,可以正确读入的
matrix[i][j] = s.charAt(j) == '#'的意思是对二维数组赋值,我用的是boolean类型的二维数组,true表示地图上有这个点,false表示没有,每次读入一行,遍历每个字符,如果是井号,那么就对相应的点设为true,否则为false。scanner.nextLine();就是读入一行的意思。你问我为什么这么输入?这个问题我不太明白,不就应该是一行一行读入吗?
求采纳为满意回答。
请问acm用java来编写有坏处吗?
用java的话,程序执行的时间是c或c++的十倍左右,而相应的,java的限时一般只是比c或c++多了二倍而已。所以若题目的时间要求比较严格的时候,用java写就需要非常高效的代码才能通过。
所以一般人会选择用c或c++来写。但是如果你对自己java的水平有很大的把握,并且题目时间不会太严格的话,用java也是可以的。
不过如果是想要比赛并取得好名次的话,尽量用c或c++因为在全球总决赛是没有java语言,如果只是想通过acm提高自己的水平的话,语言根据自己需要来选择。
学JAVA的适合参加ACM吗
可以的,人家俄罗斯的petr大牛都用着java参加topcoder。java有些库在acm上用挺不错的。ACM出思路快比较重要,我用java写和c++写长度差不了很多,主要时间在思考上。java速度当然没有C++快,在某些变态的题目中被卡算你运气不好,一般而言对java的时空要求是放宽了的,正确的算法就能AC
学JAVA适合参加acm吗
我觉得没有问题
我本人就是学java的
而且也参加过一些ACM的ICPC竞赛
前些天还拿了内蒙古自治区ACM/ICPC程序设计大赛一等奖
我认为java比C++更适合参加ACM比赛的理由如下:
1.java是编译+解释型语言,编译过以后速度并不比C++和C慢多少。对于ACM的题,经过我的比赛经验,跟C++写出来的程序一样快,在要求的1000ms的时限中可以完成解题。
2.java自带的类功能强大,效率很好,会让所作的题目解决速度更快(比如有一道题,要求正序输入,倒叙输出。本来很简单的题,因为测试数据异常庞大,用C++的io流做这道题的输入,就会超时,但是C和java就不会。)。容器类也非常好用。
3.现在只有国内的比赛才可以!使用C++和C。真正的国际比赛(IBM组织的全球性的那种)据说所提交的题目只能用java结决....
4.国内的比赛,有的会用linux+eclipse环境竞赛,eclipse本来就是给java开发的,(并且就是用java开发的),eclipse的环境对编辑java程序相当有效。
扯远了,1 2条还是最主要的。
我们上个星期比赛的时候有一道题,这道题的思路是排序和去除重复。
我们比赛的选手基本都使用了QuickSort+两层FOR结构除重复,但是我们java编出来的,最终通过了测试,C++编出来的程序却屡次测试超时....我现在都在费解中....
结束语:祝提问题的朋友好好加油,取得好成绩。
谢谢。