F
Size: a a a
F
L
DE
L
L
L
F
F
L
L
L
const fs = require("fs");
const parseFile = path => fs
.readFileSync(path, "utf8")
.split(/[\r\n]/)
.map(l => l.match(/^ID\#(\d+)\s\:\:\s(\d+)\,(\d+)\s\:\:\s(\d+)x(\d+)$/))
.filter(Boolean)
.map(a => ({
id : a[1],
x : +a[2],
y : +a[3],
width : +a[4],
height: +a[5],
area : +a[4]*+a[5],
maxWH : Math.max(+a[4], +a[5]),
minWH : Math.min(+a[4], +a[5]),
}))
const myMax = arr => {
let tIndex = 0;
for(let i = 1; i < arr.length; i++)
if ( arr[i] > arr[tIndex] )
tIndex = i;
return tIndex;
}
const analysisAvgArea = arr => arr
.reduce((s, v) => s + v.area, 0) / arr.length;
const analysisMaxArea = arr =>
arr[ myMax(arr.map(v => v.area)) ]
const analysisMaxExtended = arr =>
arr[ myMax(arr.map(v => v.maxWH)) ]
const analysisMaxExtendedVer2 = arr =>
arr[ myMax(arr.map(v => v.maxWH / v.minWH)) ]
const arr = ["m7-map-1.txt", "m7-map-2.txt"]
.map(parseFile)
.flat()
console.log(`avg area = ${ analysisAvgArea(arr) }`)
const ma = analysisMaxArea(arr)
console.log(`Max area = ID#${ ma.id } (${ ma.area })`)
const me = analysisMaxExtended(arr)
console.log(`Max extended = ID#${ me.id } (${ me.width }x${ me.height })`)
const me2 = analysisMaxExtendedVer2(arr)
console.log(`Max extendedVer2 = ID#${ me2.id } (${ me2.width }x${ me2.height })`)
S
const fs = require("fs");
const parseFile = path => fs
.readFileSync(path, "utf8")
.split(/[\r\n]/)
.map(l => l.match(/^ID\#(\d+)\s\:\:\s(\d+)\,(\d+)\s\:\:\s(\d+)x(\d+)$/))
.filter(Boolean)
.map(a => ({
id : a[1],
x : +a[2],
y : +a[3],
width : +a[4],
height: +a[5],
area : +a[4]*+a[5],
maxWH : Math.max(+a[4], +a[5]),
minWH : Math.min(+a[4], +a[5]),
}))
const myMax = arr => {
let tIndex = 0;
for(let i = 1; i < arr.length; i++)
if ( arr[i] > arr[tIndex] )
tIndex = i;
return tIndex;
}
const analysisAvgArea = arr => arr
.reduce((s, v) => s + v.area, 0) / arr.length;
const analysisMaxArea = arr =>
arr[ myMax(arr.map(v => v.area)) ]
const analysisMaxExtended = arr =>
arr[ myMax(arr.map(v => v.maxWH)) ]
const analysisMaxExtendedVer2 = arr =>
arr[ myMax(arr.map(v => v.maxWH / v.minWH)) ]
const arr = ["m7-map-1.txt", "m7-map-2.txt"]
.map(parseFile)
.flat()
console.log(`avg area = ${ analysisAvgArea(arr) }`)
const ma = analysisMaxArea(arr)
console.log(`Max area = ID#${ ma.id } (${ ma.area })`)
const me = analysisMaxExtended(arr)
console.log(`Max extended = ID#${ me.id } (${ me.width }x${ me.height })`)
const me2 = analysisMaxExtendedVer2(arr)
console.log(`Max extendedVer2 = ID#${ me2.id } (${ me2.width }x${ me2.height })`)
F
KS
T
KS
AS
const fs = require("fs");
const parseFile = path => fs
.readFileSync(path, "utf8")
.split(/[\r\n]/)
.map(l => l.match(/^ID\#(\d+)\s\:\:\s(\d+)\,(\d+)\s\:\:\s(\d+)x(\d+)$/))
.filter(Boolean)
.map(a => ({
id : a[1],
x : +a[2],
y : +a[3],
width : +a[4],
height: +a[5],
area : +a[4]*+a[5],
maxWH : Math.max(+a[4], +a[5]),
minWH : Math.min(+a[4], +a[5]),
}))
const myMax = arr => {
let tIndex = 0;
for(let i = 1; i < arr.length; i++)
if ( arr[i] > arr[tIndex] )
tIndex = i;
return tIndex;
}
const analysisAvgArea = arr => arr
.reduce((s, v) => s + v.area, 0) / arr.length;
const analysisMaxArea = arr =>
arr[ myMax(arr.map(v => v.area)) ]
const analysisMaxExtended = arr =>
arr[ myMax(arr.map(v => v.maxWH)) ]
const analysisMaxExtendedVer2 = arr =>
arr[ myMax(arr.map(v => v.maxWH / v.minWH)) ]
const arr = ["m7-map-1.txt", "m7-map-2.txt"]
.map(parseFile)
.flat()
console.log(`avg area = ${ analysisAvgArea(arr) }`)
const ma = analysisMaxArea(arr)
console.log(`Max area = ID#${ ma.id } (${ ma.area })`)
const me = analysisMaxExtended(arr)
console.log(`Max extended = ID#${ me.id } (${ me.width }x${ me.height })`)
const me2 = analysisMaxExtendedVer2(arr)
console.log(`Max extendedVer2 = ID#${ me2.id } (${ me2.width }x${ me2.height })`)
T
AS
AS