#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <queue>
using namespace std;
/*
注意4和5不相连
*/
int main()
{
int a[6],sum=0;
for(a[1]=1;a[1]<=8;a[1]++)
for(a[2]=a[1]+1;a[2]<=9;a[2]++)
for(a[3]=a[2]+1;a[3]<=10;a[3]++)
for(a[4]=a[3]+1;a[4]<=11;a[4]++)
for(a[5]=a[4]+1;a[5]<=12;a[5]++)
{
queue<int>q;
int v[6]={0};
v[1]=1;
int cnt=1;
q.push(a[1]);
while(!q.empty())
{
int d=q.front();
q.pop();
for(int i=1;i<=5;i++)
{if(!v[i])
{
if(d==1||d==5||d==9)
{
if(a[i]==d+1||a[i]==d-4||a[i]==d+4)q.push(a[i]),v[i]=1,cnt++;
}
else if(d==4||d==8||d==12)
{
if(a[i]==d-1||a[i]==d-4||a[i]==d+4)q.push(a[i]),v[i]=1,cnt++;
}
else {
if(a[i]==d-1||a[i]==d+1||a[i]==d-4||a[i]==d+4)q.push(a[i]),v[i]=1,cnt++;
}
}
}
}
if(cnt==5){sum++; }
}
printf("%d\n",sum);
return 0;
}
蓝桥杯 剪邮票
最新推荐文章于 2022-03-27 12:01:37 发布