Arrays Z3解算器中的二维阵列

Arrays Z3解算器中的二维阵列,arrays,z3,Arrays,Z3,我想使用z3解算器和C API定义一个二维数组,如下所示 a[3][3]={0,0,0},{0,0,0},{0,0,0} 如何使用Z3 solver C API来定义这一点,在这里我需要添加约束,例如每行的总和等于1,每列的总和应小于p>Z3支持数组理论,但通常用于对无界数组或非常大的数组进行编码。这个问题已经在其他帖子中讨论过(见:)。如果我们搜索[z3]数组,我们会找到许多其他帖子。 对于预定义大小的数组,创建“Z3表达式数组”更容易(也更有效)。中的数独示例演示了如何执行此操作。 以下是您

我想使用z3解算器和C API定义一个二维数组,如下所示

a[3][3]={0,0,0},{0,0,0},{0,0,0}


如何使用Z3 solver C API来定义这一点,在这里我需要添加约束,例如每行的总和等于1,每列的总和应小于p>Z3支持数组理论,但通常用于对无界数组或非常大的数组进行编码。这个问题已经在其他帖子中讨论过(见:)。如果我们搜索
[z3]数组
,我们会找到许多其他帖子。 对于预定义大小的数组,创建“Z3表达式数组”更容易(也更有效)。中的数独示例演示了如何执行此操作。 以下是您在文章中描述的问题的Python代码(也可在线获得)

整变量的3x3矩阵 A=[[Int(“A_%s_%s”%(i+1,j+1))表示范围(3)内的j] 对于范围内的i(3)] 打印 #行约束 行_c=[对于A中的r,求和(r)==1] 打印行 #列约束 A_转置=[[A[i][j]表示范围(3)中的i]表示范围(3)中的j]
cols_c=[Sum(c)谢谢Leonardo,你能帮我展示一个二维数组的c代码解决方案吗。