knights_8_4.fzn 6.52 KB
var 1..1: X_INTRODUCED_0_;
var 2..2: X_INTRODUCED_1_;
var 1..8: X_INTRODUCED_2_;
var 3..3: X_INTRODUCED_3_;
var 1..1: X_INTRODUCED_4_;
var 3..3: X_INTRODUCED_5_;
var 1..8: X_INTRODUCED_6_;
var 2..2: X_INTRODUCED_7_;
var bool: X_INTRODUCED_46_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_48_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_49_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_51_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_53_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_54_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_57_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_58_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_60_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_61_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_64_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_65_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_67_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_68_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_70_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_71_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_74_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_76_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_77_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_79_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_81_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_82_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_85_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_86_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_88_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_89_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_92_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_93_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_95_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_96_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_98_ ::var_is_introduced :: is_defined_var;
var bool: X_INTRODUCED_99_ ::var_is_introduced :: is_defined_var;
array [1..4] of var int: r:: output_array([1..4]) = [1,2,X_INTRODUCED_2_,3];
array [1..4] of var int: c:: output_array([1..4]) = [1,3,X_INTRODUCED_6_,2];
constraint int_lin_ne([-8,-1],[X_INTRODUCED_2_,X_INTRODUCED_6_],-9);
constraint int_lin_ne([-8,-1],[X_INTRODUCED_2_,X_INTRODUCED_6_],-19);
constraint int_lin_ne([8,1],[X_INTRODUCED_2_,X_INTRODUCED_6_],26);
constraint array_bool_or([X_INTRODUCED_49_,X_INTRODUCED_54_,X_INTRODUCED_58_,X_INTRODUCED_61_,X_INTRODUCED_65_,X_INTRODUCED_68_,X_INTRODUCED_70_,X_INTRODUCED_71_],true);
constraint array_bool_or([X_INTRODUCED_77_,X_INTRODUCED_82_,X_INTRODUCED_86_,X_INTRODUCED_89_,X_INTRODUCED_93_,X_INTRODUCED_96_,X_INTRODUCED_98_,X_INTRODUCED_99_],true);
constraint int_lin_eq_reif([1],[X_INTRODUCED_6_],1,X_INTRODUCED_46_):: defines_var(X_INTRODUCED_46_);
constraint int_lin_eq_reif([1],[X_INTRODUCED_2_],1,X_INTRODUCED_48_):: defines_var(X_INTRODUCED_48_);
constraint array_bool_and([X_INTRODUCED_46_,X_INTRODUCED_48_],X_INTRODUCED_49_):: defines_var(X_INTRODUCED_49_);
constraint int_lin_eq_reif([1],[X_INTRODUCED_6_],2,X_INTRODUCED_51_):: defines_var(X_INTRODUCED_51_);
constraint int_lin_eq_reif([1],[X_INTRODUCED_2_],0,X_INTRODUCED_53_):: defines_var(X_INTRODUCED_53_);
constraint array_bool_and([X_INTRODUCED_51_,X_INTRODUCED_53_],X_INTRODUCED_54_):: defines_var(X_INTRODUCED_54_);
constraint int_lin_eq_reif([1],[X_INTRODUCED_2_],3,X_INTRODUCED_57_):: defines_var(X_INTRODUCED_57_);
constraint array_bool_and([X_INTRODUCED_46_,X_INTRODUCED_57_],X_INTRODUCED_58_):: defines_var(X_INTRODUCED_58_);
constraint int_lin_eq_reif([1],[X_INTRODUCED_6_],4,X_INTRODUCED_60_):: defines_var(X_INTRODUCED_60_);
constraint array_bool_and([X_INTRODUCED_53_,X_INTRODUCED_60_],X_INTRODUCED_61_):: defines_var(X_INTRODUCED_61_);
constraint int_lin_eq_reif([1],[X_INTRODUCED_6_],5,X_INTRODUCED_64_):: defines_var(X_INTRODUCED_64_);
constraint array_bool_and([X_INTRODUCED_48_,X_INTRODUCED_64_],X_INTRODUCED_65_):: defines_var(X_INTRODUCED_65_);
constraint int_lin_eq_reif([1],[X_INTRODUCED_2_],4,X_INTRODUCED_67_):: defines_var(X_INTRODUCED_67_);
constraint array_bool_and([X_INTRODUCED_51_,X_INTRODUCED_67_],X_INTRODUCED_68_):: defines_var(X_INTRODUCED_68_);
constraint array_bool_and([X_INTRODUCED_57_,X_INTRODUCED_64_],X_INTRODUCED_70_):: defines_var(X_INTRODUCED_70_);
constraint array_bool_and([X_INTRODUCED_60_,X_INTRODUCED_67_],X_INTRODUCED_71_):: defines_var(X_INTRODUCED_71_);
constraint int_lin_eq_reif([-1],[X_INTRODUCED_6_],-4,X_INTRODUCED_74_):: defines_var(X_INTRODUCED_74_);
constraint int_lin_eq_reif([-1],[X_INTRODUCED_2_],-4,X_INTRODUCED_76_):: defines_var(X_INTRODUCED_76_);
constraint array_bool_and([X_INTRODUCED_74_,X_INTRODUCED_76_],X_INTRODUCED_77_):: defines_var(X_INTRODUCED_77_);
constraint int_lin_eq_reif([-1],[X_INTRODUCED_6_],-3,X_INTRODUCED_79_):: defines_var(X_INTRODUCED_79_);
constraint int_lin_eq_reif([-1],[X_INTRODUCED_2_],-5,X_INTRODUCED_81_):: defines_var(X_INTRODUCED_81_);
constraint array_bool_and([X_INTRODUCED_79_,X_INTRODUCED_81_],X_INTRODUCED_82_):: defines_var(X_INTRODUCED_82_);
constraint int_lin_eq_reif([-1],[X_INTRODUCED_2_],-2,X_INTRODUCED_85_):: defines_var(X_INTRODUCED_85_);
constraint array_bool_and([X_INTRODUCED_74_,X_INTRODUCED_85_],X_INTRODUCED_86_):: defines_var(X_INTRODUCED_86_);
constraint int_lin_eq_reif([-1],[X_INTRODUCED_6_],-1,X_INTRODUCED_88_):: defines_var(X_INTRODUCED_88_);
constraint array_bool_and([X_INTRODUCED_81_,X_INTRODUCED_88_],X_INTRODUCED_89_):: defines_var(X_INTRODUCED_89_);
constraint int_lin_eq_reif([-1],[X_INTRODUCED_6_],0,X_INTRODUCED_92_):: defines_var(X_INTRODUCED_92_);
constraint array_bool_and([X_INTRODUCED_76_,X_INTRODUCED_92_],X_INTRODUCED_93_):: defines_var(X_INTRODUCED_93_);
constraint int_lin_eq_reif([-1],[X_INTRODUCED_2_],-1,X_INTRODUCED_95_):: defines_var(X_INTRODUCED_95_);
constraint array_bool_and([X_INTRODUCED_79_,X_INTRODUCED_95_],X_INTRODUCED_96_):: defines_var(X_INTRODUCED_96_);
constraint array_bool_and([X_INTRODUCED_85_,X_INTRODUCED_92_],X_INTRODUCED_98_):: defines_var(X_INTRODUCED_98_);
constraint array_bool_and([X_INTRODUCED_88_,X_INTRODUCED_95_],X_INTRODUCED_99_):: defines_var(X_INTRODUCED_99_);
solve :: int_search([X_INTRODUCED_0_,X_INTRODUCED_1_,X_INTRODUCED_2_,X_INTRODUCED_3_,X_INTRODUCED_4_,X_INTRODUCED_5_,X_INTRODUCED_6_,X_INTRODUCED_7_],input_order,indomain_min,complete) satisfy;