首页 > 学院 > 开发设计 > 正文

蓝桥杯第七届方格填数法二

2019-11-06 06:57:54
字体:
来源:转载
供稿:网友
#include <cstdio>#include <algorithm>#include <cmath>using namespace std;bool judge(int a[]){    if(abs(a[0]-a[1])!=1&&abs(a[0]-a[4])!=1&&abs(a[0]-a[5])!=1&&abs(a[0]-a[3])!=1)    if(abs(a[1]-a[2])!=1&&abs(a[1]-a[4])!=1&&abs(a[1]-a[5])!=1&&abs(a[1]-a[6])!=1)    if(abs(a[2]-a[5])!=1&&abs(a[2]-a[6])!=1)    if(abs(a[3]-a[4])!=1&&abs(a[3]-a[8])!=1&&abs(a[3]-a[7])!=1)    if(abs(a[4]-a[5])!=1&&abs(a[4]-a[7])!=1&&abs(a[4]-a[8])!=1&&abs(a[4]-a[9])!=1)    if(abs(a[5]-a[6])!=1&&abs(a[5]-a[8])!=1&&abs(a[5]-a[9])!=1)    if(abs(a[6]-a[9])!=1)if(abs(a[7]-a[8])!=1)if(abs(a[8]-a[9])!=1)return true;    return false;}int main(){    int a[10]={0,1,2,3,4,5,6,7,8,9},count=0;    do{        if(judge(a)){            count++;            PRintf("  %d %d %d/n%d %d %d %d/n%d %d %d  /n",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);        }    }while(next_permutation(a,a+10));        //注意格式    printf("cout:%d/n",count);    return 0;}
用stl中的全排列函数next_permutation  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表