您的位置:

acmjava,acmJava处理输入

本文目录一览:

在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++编出来的程序却屡次测试超时....我现在都在费解中....

结束语:祝提问题的朋友好好加油,取得好成绩。

谢谢。