sat
来源:互联网 发布:java实现rpc异步 编辑:程序博客网 时间:2024/04/30 12:29
#include <iostream>
#include <cstdio>
using namespace std;
int n;
bool *a;
bool IsOk()
{
if(n>=0&&n<=50) return 1;
else return 0;
}
int main()
{
cout<<"合取范式为A0&A1&…A9:"<<endl;
cout<<"请输入问题规模(必须是小于50的数字):"<<endl;
cin>>n;
bool S,A[10];
while(IsOk())
{
for(int i=0; i<n; i++)
a[i]=0;
a[-1]=1;
a[-2]=1;
a[-3]=1;
a[-4]=1;
a[-5]=1;
a[-6]=1;
a[-7]=1;
a[-8]=1;
a[-9]=1;
while(n>0)
{
for(int i=0; i<n; i++) A[0]&=a[i];
for(int i=0; i<n; i++) A[1]&=a[i-1];
for(int i=0; i<n; i++) A[2]&=a[i-2];
for(int i=0; i<n; i++) A[3]&=a[i-3];
for(int i=0; i<n; i++) A[4]&=a[i-4];
for(int i=0; i<n; i++) A[5]&=a[i-5];
for(int i=0; i<n; i++) A[6]&=a[i-6];
for(int i=0; i<n; i++) A[7]&=a[i-7];
for(int i=0; i<n; i++) A[8]&=a[i-8];
for(int i=0; i<n; i++) A[9]&=a[i-9];
S=A[0]&A[1]&A[2]&A[3]&A[4]&A[5]&A[6]&A[7]&A[8]&A[9];
if(S)
{
cout<<"有解,且解为:"<<a<<endl;
}
else a[n]=1;
n--;
}
cout<<"无解!"<<endl;
}
cout<<"输入有误!"<<endl;
return 0;
}
- SAT
- sat
- 2-sat
- 【2-SAT】
- 2-SAT
- 2 - sat
- 2-SAT
- 2-SAT
- 2-Sat
- 2-SAT
- 2-sat
- 2-sat
- 2-SAT
- bzoj1823_2-SAT
- 2-Sat
- 2-SAT
- 2-SAT
- 2-SAT
- 【Author : DS】(CUGB 120920训练)NCPC 2009 5AC
- C优先级详细列表
- 最新九月百度人搜,阿里巴巴,腾讯华为京东面试二十题(更新至09.19)
- 【Author : DS】(CUGB 120918 浙大2012 - 08月赛) 是一套好题
- 11 java 王少飞-java SE 泛型小节
- sat
- 【linux】我勒个去,居然是空间不足!!!坑爹啊
- 如何防止重复提交表单刷新
- 令牌机制,校验码
- 数据库操作小结
- 二叉树的非递归 前序,中序,后序遍历
- jsp插入java代码
- zz SystemC学习笔记
- Android ---js与java的相互调用