牛客网判题系统的输入输出

牛客网判题系统的输入输出

对于传统ACM的OJ模式题目,你的程序需要stdin(标准输入)读取输入,然后stdout(标准输出)来打印结果,举个例子,你可以使用c语言的scanf或者c++的cin来读取输入,然后使用c语言的printf或者c++的cout来输出结果。代码禁止读取和写入任何文件,否则判题系统将会返回运行错误。OJ一次处理多个case,所以代码需要循环处理,一般通过while循环来出来多个case。以下是A+B题目的样例代码,http://www.nowcoder.com/questionTerminal/dae9959d6df7466d9a1f6d70d6a11417

C++ 64位输出请用printf(“%lld”)

1
2
3
4
5
6
7
#include <iostream>
using namespace std;
int main() {
    int a,b;
    while(cin >> a >> b)//注意while处理多个case
        cout << a+b << endl;
}

Python

1
2
3
4
5
6
7
8
9
10
import sys
try:
    while True:
        line = sys.stdin.readline().strip()
        if line == '':
            break
        lines = line.split()
        print int(lines[0]) + int(lines[1])
except:
    pass

Python3

1
2
3
4
import sys 
for line in sys.stdin:
a = line.split()
print(int(a[0]) + int(a[1]))

JAVA,注意类名必须为Main, 不要有任何package xxx信息
注意hasNext和hasNextLine的区别,详细见<java的oj输入注意点>

1
2
3
4
5
6
7
8
9
10
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) {//注意while处理多个case              int a = in.nextInt();
      int b = in.nextInt();
            System.out.println(a + b);
        }
    }
}

参考资料:

  1. https://www.nowcoder.com/discuss/276
  2. http://yucc.me/p/82598037/
谢谢你!