正确处理输入输出格式
- 常见的输入格式:
- 预先不输入数据的组数 — 直接读到文件结尾
- 预先输入数据的组数 — 读数据组数然后循环
- 只有一组数据 — 直接读数据
- 处理输出格式要注意细节,看题目的具体要求
- 不要输出case数
- 要输出case数
- 每个case之间有空格
- 每个case之后有空格
具体的,在牛客网的刷题系统中,输入数据用readline()
,输出结果用print()
或console.log()
。
这个只是数据的读取,读取之后还需要做相应的数据类型转换,比如输入包括一行用空格分开的两个正整数,那么用var line = readline()
读取到输入数据之后,还要将读取到的字符串转为数组var arr = line.split(' ');
然后经过var num1 = parseInt(arr[0]), num2 = parseInt(arr[1])
读取到输入的两个正整数。
1. 输入一行,输出一行
var line = readline();
// 完成相应操作
print();
// 或者
while(line = readline()){
//在这里面执行需要的操作
print();
}
2. 输入两行,输出一行
var line = readline();
var num = parseInt(readline());
// do sth
print();
3. 输入数据有多组,每组单独占一行,对于输入的每组数据,对应输出多组,每组单独占一行(这种情况和例子1是一样的处理方法)
var line = readline();
// 完成相应操作
print();
// 或者
while(line = readline()){
//在这里面执行需要的操作
print();
}
4. 输入数据有多组,每组占两行,对于输入的每组数据,对应输出多组,每组单独占一行(这种情况和例子2是一样的处理方法)
5. 输入n行,输出一行
while(line = readline()){
//Do some operation
}
print();
6. 输入数据第一行表示测试样例数,接下来的n行表示n组测试样例,对于输入的每组测试样例,对应输出n组数据
var num = parseInt(readline());
while(line = readline()){
//Do some operation
print();
}
7. 输入多行,先输入随机整数的个数,再输入相应个数的整数;输出多行,处理后的结果
while(n=parseInt(readline())){
var arr = [];
while(n--) {
var value = parseInt(readline());
arr[value] = 1;
}
// do sth
// 满足条件输出结果
console.log(index);
}
参考: 牛客网在线判题系统使用帮助