开发商购买土地解法 JavaScript版本

This commit is contained in:
namewyf
2024-11-12 23:03:01 +08:00
parent d22464f5b1
commit a0690ff730

View File

@ -388,6 +388,62 @@ if __name__ == "__main__":
main()
```
### JavaScript
前缀和
```js
function func() {
const readline = require('readline')
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
let inputLines = []
rl.on('line', function (line) {
inputLines.push(line.trim())
})
rl.on('close', function () {
let [n, m] = inputLines[0].split(" ").map(Number)
let c = new Array(n).fill(0)
let r = new Array(m).fill(0)
let arr = new Array(n)
let sum = 0//数组总和
let min = Infinity//设置最小值的初始值为无限大
//定义数组
for (let s = 0; s < n; s++) {
arr[s] = inputLines[s + 1].split(" ").map(Number)
}
//每一行的和
for (let i = 0; i < n; i++) {
for (let j = 0; j < m; j++) {
c[i] += arr[i][j]
sum += arr[i][j]
}
}
//每一列的和
for (let i = 0; i < n; i++) {
for (let j = 0; j < m; j++) {
r[j] += arr[i][j]
}
}
let sum1 = 0, sum2 = 0
//横向切割
for (let i = 0; i < n; i++) {
sum1 += c[i]
min = min < Math.abs(sum - 2 * sum1) ? min : Math.abs(sum - 2 * sum1)
}
//纵向切割
for (let j = 0; j < m; j++) {
sum2 += r[j]
min = min < Math.abs(sum - 2 * sum2) ? min : Math.abs(sum - 2 * sum2)
}
console.log(min);
})
}
```
### C
前缀和