Lucas Stadler лет назад: 10
Родитель
Сommit
18f261e1a4
1 измененных файлов с 17 добавлено и 0 удалено
  1. 17 0
      rust/dpll/cnf.rs

+ 17 - 0
rust/dpll/cnf.rs

@ -41,6 +41,23 @@ fn parse_dimac(dimac: &str) {
41 41
        println!("Error: Wrong number of clauses: Expected {}, but got {}", num_clauses, clause_lines.len());
42 42
        return
43 43
    }
44
45
    let mut clauses: Vec<Vec<i32>> = Vec::with_capacity(num_clauses as usize);
46
    for clause_line in clause_lines {
47
        let mut vars: Vec<i32> = clause_line.split(" ").map(|x| x.parse::<i32>().unwrap()).collect();
48
        if vars.is_empty() {
49
            println!("Error: empty clause");
50
            return
51
        }
52
        if vars[vars.len()-1] != 0 {
53
            println!("Clause must be terminated with 0");
54
            return
55
        }
56
        let l = vars.len();
57
        vars.truncate(l - 1);
58
        println!("{:?}", vars);
59
        clauses.push(vars)
60
    }
44 61
}
45 62
46 63
fn main() {