当前位置:网站首页>蓝桥杯几道全排列的题目
蓝桥杯几道全排列的题目
2022-06-29 15:37:00 【华为云】
方格填数

#include<bits/stdc++.h>using namespace std;bool check(vector<int>arr){ if( abs(arr[0]-arr[1])==1|| abs(arr[0]-arr[3])==1|| abs(arr[0]-arr[4])==1|| abs(arr[0]-arr[5])==1|| abs(arr[1]-arr[2])==1|| abs(arr[1]-arr[4])==1|| abs(arr[1]-arr[5])==1|| abs(arr[1]-arr[6])==1|| abs(arr[2]-arr[5])==1|| abs(arr[2]-arr[6])==1|| abs(arr[3]-arr[4])==1|| abs(arr[3]-arr[7])==1|| abs(arr[3]-arr[8])==1|| abs(arr[4]-arr[5])==1|| abs(arr[4]-arr[7])==1|| abs(arr[4]-arr[8])==1|| abs(arr[4]-arr[9])==1|| abs(arr[5]-arr[6])==1|| abs(arr[5]-arr[8])==1|| abs(arr[5]-arr[9])==1|| abs(arr[6]-arr[9])==1|| abs(arr[7]-arr[8])==1|| abs(arr[8]-arr[9])==1 ){ return false; } return true; } int main(){ vector<int>arr; int ans=0; for(int i=0;i<10;i++){ arr.push_back(i); } do{ if(check(arr)){ ans++; } }while(next_permutation(arr.begin(),arr.end())); cout<<ans<<endl; return 0;} 寒假作业

#include<bits/stdc++.h>using namespace std;int a[13]={1,2,3,4,5,6,7,8,9,10,11,12,13};int b[12]; //保存一个全排列 int vis[13];int ans=0;void dfs(int level,int num){ if(level==3){ if(b[0]+b[1]!=b[2]){ return; } } if(level==6){ if(b[3]-b[4]!=b[5]){ return; } } if(level==9){ if(b[6]*b[7]!=b[8]){ return; } } if(level==12){ if(b[9]==b[10]*b[11]){ ans++; } return; } for(int i=0;i<num;i++){ if(!vis[i]){ vis[i]=1; b[level]=a[i]; dfs(level+1,num); vis[i]=0; } }}int main(){ memset(vis,0,sizeof(vis)); dfs(0,13); cout<<ans<<endl; return 0;}注意这一点b[9]==b[10]*b[11],不要用b[9]/b[10]==b[11]
手链样式

#include<bits/stdc++.h>using namespace std;int main(){ int ans=0; vector<string>arr; //保存所有str+str string str="aaabbbbccccc"; do{ int i=0; for(;i<arr.size();i++){ if(arr[i].find(str)!=string::npos){ break; } } if(i!=arr.size()){ continue; } string temp=str+str; arr.push_back(temp); reverse(temp.begin(),temp.end()); arr.push_back(temp); ans++; }while(next_permutation(str.begin(),str.end())); cout<<ans<<endl;}三羊献瑞
#include<bits/stdc++.h>using namespace std;int a[10]={0,1,2,3,4,5,6,7,8,9};int b[8]; //用于保存一个全排列int vis[10];int ans=0;bool check(int b[]){ int sum=b[0]*10000+b[1]*1000+b[2]*100+b[3]*10+b[4]; int num1=b[5]*1000+b[3]*100+b[2]*10+b[6]; int num2=b[0]*1000+b[1]*100+b[7]*10+b[3]; if(num1+num2==sum){ return true; } return false;}void dfs(int level,int num){ if(level==8){ //八个数依次为"三羊生瑞气祥辉献" if(check(b)){ ans++; for(int i=0;i<8;i++){ cout<<b[i]<<" "; } cout<<endl; } return; } for(int i=0;i<num;i++){ if(!vis[i]){ vis[i]=1; b[level]=a[i]; dfs(level+1,num); vis[i]=0; } }} int main(){ memset(vis,0,sizeof(vis)); dfs(0,10); //level为0,数组中前十个数字 return 0;}边栏推荐
猜你喜欢

Cmake learning-2

CVPR 2022 | greatly reduce the manual annotation required for zero sample learning. Mapuosuo and Beiyou proposed category semantic embedding rich in visual information

12.UDP协议-bite

14.ip protocol -bite

stlink故障修复

瓜分1000+万奖金池,昇腾AI创新大赛2022实力赋能开发者

89.(cesium篇)cesium聚合图(自定义图片)

C#学习一:值类型与引用类型

架构实战营模块五作业

LeetCode-470-用Rand7()实现Rand10()
随机推荐
MySQL scheduled full database backup & rolling deletion of backup data before the specified date
有望显著提高集成光子电路的计算性能,清华团队提出了一种衍射图神经网络框架
关于 国产麒麟系统运行Qt,在命令行可以运行而双击无法运行(无反应) 的解决方法
Stlink troubleshooting
kotlin 注解聲明與使用
Motion capture system for apple picking robot
再也不用担心窗体变形了
2022年第一季度保险服务数字化跟踪分析
golang操作etcd
ROS2机器人f1tenth之CLI工具基础
墨天轮“高可用架构”干货文档分享(含Oracle、MySQL、PG资料124篇)
【力扣10天SQL入门】Day7+8 计算函数
postgresql源码学习(23)—— 事务日志④-日志组装
Leetcode-64- minimum path sum
Applet judges that the data is not empty
Taro2.* 小程序配置分享微信朋友圈
What is the time complexity of the redis command?? (the actual question is about the underlying structure of redis)
云原生数据库查询优化-统计信息与行数估计
mysql XA 分布式事务
#夏日挑战赛# HarmonyOS - 方舟开发框架ArkUI 流光按钮效果
