牛客网在线判题系统使用帮助

1. 判题系统的编译器信息
C++:clang++11 -std=c++17 -O2
JAVA:javac 1.8 -encoding=utf-8
C: clang11 -std=gnu99 -O2
Python: python 2.7.3
Python3: python 3.9
C#: mcs 5.4
PHP: php 7.4
Javascript V8: d8 6.0
Javascript Node: Node 12.18
R: r 4.0
Go: go 1.14.4
Ruby : ruby 2.7.1
Rust: rust 1.44
Swift: swift 5.3
ObjectC: gcc 5.4
Pascal: fpc 3.0.2
Matlab: Octave 5.2
Bash: bash 4.3

2. 判题系统的输入输出
2.1 对于<剑指Offer>这种有函数定义的题目,你只要完成函数,返回相关的值就可以,不需要处理任何输入输出,不要在函数里输出任何东西。
2.2 对于传统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")
#include <stdio.h>
int main() {
    int a,b; while(scanf("%d %d",&a, &b) != EOF) {//注意while处理多个case
        printf("%d\n",a+b);
    }
    return 0;
}
C++ 64位输出请用printf("%lld")
#include <iostream>
using namespace std;
int main() {
    int a,b; while(cin >> a >> b)//注意while处理多个case
        cout << a+b << endl;
}
JAVA,注意类名必须为Main, 不要有任何package xxx信息
注意hasNext和hasNextLine的区别,详细见<java的oj输入注意点>
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);
        }
    }
} 
Python
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
import sys 
for line in sys.stdin:
    a = line.split()
    print(int(a[0]) + int(a[1]))
JavaScript(V8)
while(line=readline()){
    var lines = line.split(' ');
    var a = parseInt(lines[0]);
    var b = parseInt(lines[1]);
    print(a+b);
}
JavaScript(Node)
var readline = require('readline');
const rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout
});
rl.on('line', function(line){
   var tokens = line.split(' ');
    console.log(parseInt(tokens[0]) + parseInt(tokens[1]));
});
C#
public class Program {
  public static void Main() {
    string line;
    while ((line = System.Console.ReadLine ()) != null) {// 注意,如果输入是多个测试用例,请通过while循环处理多个测试用例
      string[] tokens = line.Split();
      System.Console.WriteLine(int.Parse(tokens[0]) + int.Parse(tokens[1]));
    }
  }
}
Php
<?php  
    while(fscanf(STDIN, "%d %d", $a, $b) == 2)  
    	echo ($a + $b)."\n";
Go
package main
import (
    "fmt"
)
func main() {
  a:=0
  b:=0
  for {
        n, _ := fmt.Scan(&a,&b)
        if n == 0 {
                break
        } else {
                fmt.Printf("%d\n",a+b)
        }
  }
}
R语言
lines=readLines("stdin")
for(l in lines){
        if(l == ""){
                break;
        }
        ll = strsplit(l, " ")[[1]]
        a=ll[1];
        b=ll[2];
        cat(as.numeric(a)+as.numeric(b));
        cat('\n');
}
Ruby
a, b = gets.split(" ").map {|x| x.to_i}
puts (a + b)
Rust
fn main() {
    let mut input = String::new();
    std::io::stdin().read_line(&mut input).unwrap();
    let nums:Vec<&str>= input.trim().split(" ").collect();
    let num1: i32 = nums[0].parse().unwrap();
    let num2: i32 = nums[1].parse().unwrap();
    let sum = num1 + num2;
    println!("{}\n", sum);
}
Swift
import Foundation
while let line = readLine() {
    let parts = line.split(separator: " ")
    print(Int(parts[0])! + Int(parts[1])!)
}
ObjectC
#import <Foundation/Foundation.h>
int main(int argc,char * argv[])
{
    NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
    int a,b;
    while(scanf("%d %d",&a, &b) != EOF)
        printf("%d\n",a+b);
    [pool drain];
    return 0;
}
Pascal
var i, j : integer;
begin
   while not eof do
   begin
      readln(i, j);
      writeln(i + j);
   end;
end.
matlab
try
    while 1
        line = input('', 's');
        lines = strsplit(line);
        printf("%d\n", str2num(lines{1}) + str2num(lines{2}));
    end
catch
end
Bash
#!/bin/bash
read -a arr
while [ ${#arr[@]} -eq 2 ]
    do
        sum=$((${arr[0]}+${arr[1]}))
        echo $sum
        read -a arr
    done
exit 0

3. 判题系统状态
等待评测: 评测系统还没有评测到这个提交,请稍候
正在评测: 评测系统正在评测,稍候会有结果
编译错误:您提交的代码无法完成编译,点击“编译错误”可以看到编译器输出的错误信息
答案正确: 恭喜!您通过了这道题
运行错误: 您提交的程序在运行时发生错误,可能是空指针
部分正确: 您的代码只通过了部分测试点,继续努力!
格式错误: 您的程序输出的格式不符合要求(比如空格和换行与要求不一致)
答案错误: 您的程序未能对评测系统的数据返回正确的结果
运行超时: 您的程序未能在规定时间内运行结束
内存超限: 您的程序使用了超过限制的内存
异常退出: 您的程序运行时发生了错误
返回非零: 您的程序结束时返回值非 0,如果使用 C 或 C++ 语言要保证 int main 函数最终 return 0
浮点错误: 您的程序运行时发生浮点错误,比如遇到了除以 0 的情况
段错误 : 您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起
多种错误: 您的程序对不同的测试点出现不同的错误
内部错误: 请仔细检查你的代码是否有未考虑到的异常情况,例如非法调用、代码不符合规范等。

4. 开始练习吧


5. 有任何问题加QQ群 244930442

</object>#笔试题目#
全部评论
在线编程,代码提交时提示出现错误,请稍后重试
点赞 回复 分享
发布于 2016-07-31 21:00
剑指offer部分,用C++写子函数,能不能调用STL模板库?
点赞 回复 分享
发布于 2015-06-03 23:43
请问 TypeScript 应该怎么写呢?
1 回复 分享
发布于 2022-03-06 18:04
javascript代码要调成哪种模式,有大佬知道吗?
1 回复 分享
发布于 2021-08-15 11:13
请问自测输入这个功能怎么使用 ?
1 回复 分享
发布于 2021-07-24 09:56
您好,遇到的问题如下: 提交代码提示部分用例报错,将出错的用例拷贝到‘自测输入’中进行测试,则提示通过且没有报错,无论多组输入还是单组输入都提示通过,请问是什么情况呢???谢谢, 图片1:提交代码报错 图片2,3 :同一用例复制到‘自测输入’中运行。单组及多组输入均测试了,通过,且不报错 题目:HJ89 24点运算 图4:代码
1 回复 分享
发布于 2021-07-15 18:00
为什么公司的题不支持vim键位呢,太难受了
1 回复 分享
发布于 2021-03-29 21:59
华为机试 题集中的HJ3 明明的随机数一题中,简便方法是使用数组坐标来标记。但笨方法(排序+去重)为何单个用例测试通过,而提交答案全判0%通过?单测时候通过那个提示的失败用例的,判题bug? #include "stdio.h" int main(void){     int nums[1000];     int index=0;     int n;     while (scanf("%d",&n)!=EOF){         for(int i=0;i<n;i++){             scanf("%d",nums+index);             index++;         }     }     //sort     for(int i=0;i<index;i++)         for(int j=0;j<index-i-1;j++){             if(nums[j]>nums[j+1]){                 int temp;                 temp=nums[j+1];                 nums[j+1]=nums[j];                 nums[j]=temp;             }         }     //skip duplicated     for(int i=0;i<index;i++){         while(nums[i]==nums[i+1]) i++;         printf("%d\n",nums[i]);     }     return 0; }
1 回复 分享
发布于 2020-12-14 22:20
空方法都报错: 编译错误:您提交的代码无法完成编译 # _/tmp ./a.go:13:30: undefined: io 括号序列这个题。
1 回复 分享
发布于 2020-11-06 14:11
转了一圈,所有的QQ都满了,,,倒是把验证的备注改下呀
1 回复 分享
发布于 2020-11-04 21:32
https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd?tpId=37&tags=&title=&diffculty=0&judgeStatus=0&rp=1 这道题,我把报错的用例粘到数据自测,测试通过,但是保存提交,这个用例就报错 let iArr,rArr; while(iArr = readline()){     iArr = iArr.split(' &(5528)#39;).slice(1);     rArr = readline().split(' &(5528)#39;).slice(1).map(e => parseInt(e));          const result = [];         rArr.sort((a,b) => a - b);     for(let i = 0; i < rArr.length; i ++){         if(i !== 0 && rArr[i] == rArr[i - 1]){             continue;         }         const res = [];         for(let j = 0; j < iArr.length; j ++){             if(iArr[j].includes(rArr[i])){                 res.push(j, iArr[j]);             }         }         if(res.length > 0){             result.push(rArr[i], res.length / 2, ...res);         }     }     result.unshift(result.length);     console.log(result.join(' &(5528)#39;)); }
1 回复 分享
发布于 2020-11-04 14:38
又是一个输出为空,本地好好的,上去就没东西了。能说明一下打印的规则吗?
1 回复 分享
发布于 2020-08-07 21:12
你好,练习过程种提交后给了一个没有通过的用例,显示的是没有输出,但是把没有通过的用例用自测功能进行自测显示的是答案正确,这是什么情况呢
1 回复 分享
发布于 2020-08-07 16:14
请问“输出超限”是什么情况?输出的东西太多了吗?
1 回复 分享
发布于 2020-08-01 15:13
还是不支持js的输入输出啊
1 回复 分享
发布于 2020-07-24 15:22
这是什么意思  空格哪里有问题😂
1 回复 分享
发布于 2020-07-08 17:39
就是这个,不会真有人觉得有问题吧?
1 回复 分享
发布于 2020-06-04 13:40
(Java) 遇到两道题目(剑指Offer的旋转数组和替换空格)中给的类名为 Solution, 提交会要求改为Main, 可是改为Main后会报数组越界异常, 我本机是没这个问题的, 而且替换空格那道题同样的代码在讨论页面可以提交我用Solution作为类名提交就过了,题目页面就不行。
1 回复 分享
发布于 2020-05-19 17:18
python 加了个程序入口都错😂😂😂,我到底是错在哪里  如下,图一:没有程序入口,测试通过;图二加了程序入口,测试不通过 @管理员 ,是不是应该开除几个测试人员/程序员 祭天
1 回复 分享
发布于 2020-05-18 11:29
int test() { vector<int> bigV; map<int, int> map; int N{ 0 }, M{ 0 }; scanf("%d %d", &N, &M); istringstream streamLine; for (int i = 0, nTemp = 0; i < N && scanf("%d", &nTemp) != EOF; ++i) { map[i] = nTemp; } if (map.size() != N) return -1; char c = 0; for (int i = 0, num1 = 0, num2 = 0; i < M; ++i) { scanf(" %c", &c); scanf("%d %d", &num1, &num2); if (c == 'U&(667)#39;) { map[num1 - 1] = num2; } else if (c == 'Q&(398)#39;) { if (num1 > num2) { int temp = num1; num1 = num2; num2 = temp; } int big = map[num1 - 1]; for (int i = num1; i < num2; i++) { if (big < map[i]) { big = map[i]; } }             bigV.push_back(big); } } for (auto big : bigV) {         printf("%d\n",big);     } return 0; } 您的代码已保存 答案错误 case通过率为10.00% 用例: 9 10 28 49 11 35 40 17 57 4 6 Q 9 9 U 9 79 Q 9 5 Q 4 8 U 2 27 U 8 40 U 4 77 U 7 71 U 4 44 U 8 51 对应输出应该为: 6 79 57 你的输出为: 空 本地测试没问题,这里说答案错误,用例不通过。但是把这个“执行失败的”用例放在“代码自测”里面又是通过的。自相矛盾!
1 回复 分享
发布于 2020-05-12 11:34

相关推荐

allin秋招的大菠萝很爱交友:后续,已拿offer ~查看图片
点赞 评论 收藏
分享
吴offer选手:学到了,下次面试也放张纸在电脑上,不然老是忘记要说哪几个点
点赞 评论 收藏
分享
评论
166
1288
分享

创作者周榜

更多
牛客网
牛客企业服务