muu minimisation
This commit is contained in:
45
6/схемотехника/course_project/subsets.js
Normal file
45
6/схемотехника/course_project/subsets.js
Normal file
@ -0,0 +1,45 @@
|
||||
import * as fs from 'node:fs'
|
||||
|
||||
const fns = JSON.parse(fs.readFileSync('subsets.json'))
|
||||
const subsets = new Array(fns.length)
|
||||
|
||||
for (let fn_i = 0; fn_i < fns.length; fn_i++) {
|
||||
const fn = fns[fn_i].str
|
||||
subsets[fn_i] = new Set
|
||||
|
||||
for (let subfn_i = 0; subfn_i < fns.length; subfn_i++) {
|
||||
if (fn_i == subfn_i) {
|
||||
continue
|
||||
}
|
||||
const subfn = fns[subfn_i].str
|
||||
let is_subfn = true
|
||||
|
||||
for (let char_i = 0; char_i < fn.length; char_i++) {
|
||||
const char = fn[char_i]
|
||||
const subchar = subfn[char_i]
|
||||
|
||||
if (char != subchar && subchar != 'x') {
|
||||
is_subfn = false
|
||||
break
|
||||
}
|
||||
}
|
||||
if (is_subfn) {
|
||||
subsets[fn_i].add(subfn_i)
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log(subsets)
|
||||
for (let subset_i = 0; subset_i < subsets.length; subset_i++) {
|
||||
const subset = subsets[subset_i]
|
||||
|
||||
if (subset.size == 0) {
|
||||
continue
|
||||
}
|
||||
const fn_name = fns[subset_i].name
|
||||
console.log(fn_name)
|
||||
|
||||
for (const subfn_i of subset) {
|
||||
const subfn_name = fns[subfn_i].name
|
||||
console.log(fn_name + '->' + subfn_name)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user