javascript - 如何在 Kattis 问题解决中进行分行?
问题描述
我目前正在 Kattis 做一些测试,但我一直坚持这个。到目前为止,我编写的代码在 Visual Studio 代码中 console.logging 时给了我最后一个 else 语句。如果我输入一个低于 100 的数字,它会给我第一个 if 语句,但是 Kattis 只会给我错误。问题出在哪里?
我正在使用 JavaScript (Nodejs)。
以下是我正在处理的代码:
const readline = require('readline')
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (line) => {
var n = line.split(' ');
for (var i = 0; i < n.length; i++) {
var r = parseInt(n[i][0]);
var e = parseInt(n[i][1]);
var c = parseInt(n[i][2]);
if (r > e - c) {
console.log("do not advertise");
}
else if (r < e - c) {
console.log("advertise");
} else {
console.log("does not matter");
}
}
});
解决方案
你可以拿一个标志来获取第一行,如果你得到了行号,只需拆分行来获取值。
const readline = require('readline')
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
var first = true;
rl.on('line', (line) => {
if (first) {
n = +line;
first = false;
return;
}
if (!n || !n--) return; // exit early for not needed lines
var [r, e, c] = line.split(' ').map(Number); // take numbers
if (r > e - c) {
console.log("do not advertise");
} else if (r < e - c) {
console.log("advertise");
} else {
console.log("does not matter");
}
});
推荐阅读
- ios - Xcode 13(“产品”不明确)
- python - 我收到未捕获的错误。'latin-1' 编解码器无法对位置 7 中的字符 '\\ufffd' 进行编码:python3 中的序数不在范围内(256)
- post - 验证 POST 操作中的参数长度(Azure API 管理)
- visual-studio - 如何为将出现在 SSIS 工具箱中的控制流和数据流创建自定义任务
- javascript - 改变jQuery附加段落Javascript的innerHTML
- ng-bootstrap - 角引导分页大部分页码链接没有出现在屏幕上
- python - 带有三个 y 坐标的顺时针坐标
- azure - 将 Azure 数据工厂连接到 Azure Linux VM
- c - 我验证 Armstrong 号码的程序对 153 号失败
- json - 尝试解码 json 并将其转换时出错