当前位置: 首页 > news >正文

蓝桥杯(填空题)

十四届

B组 日期统计(暴力枚举)

数据

5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2
7 0 5 8 8 5 7 0 9 9 1 9 4 4 6 8 6 3 3 8 5 1 6 3 4 6 7 0 7 8 2 7 6 8 9 5 6 5 6 1 4 0 1
0 0 9 4 8 0 9 1 2 8 5 0 2 5 3 3

审清题意:人家问的是这些数当中的子序列 有没有符合 2023mmdd 的 不是找能够多少个   

答案:235 

#include<iostream>
#include<cstring>
#include<map>
#include<set>
using namespace std;
int month[13]={0,1,2,3,4,5,6,7,8,9,10,11,12};
int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int a[110];
int main()
{for(int i=1;i<=100;i++) cin>>a[i];int sum=0;for(int i=1;i<=12;i++){for(int j=1;j<=day[i];j++){int b[8]={2,0,2,3,i/10,i%10,j/10,j%10};int l=0;for(int i=1;i<=100;i++){if(b[l]==a[i]){l++;}if(l==8) break;}if(l==8) sum++;}}cout<<sum<<endl;return 0;
}

第十三届

A组 灭鼠先锋(博弈)

答案:LLLV 

#include<iostream>
#include<cstring>
#include<queue>
#include<map>
using namespace std;
map<string,bool>sg;
// 判断是否仅存在一个空格(O)
// 扫描字符串并对O的数量计数
bool check(string str)
{int cnt=0;for(int i=0;i<str.size();i++){if(str[i]=='O') cnt++;}if(cnt==1) return true;return false;
}
/*
* 后手必胜/必败
*/
bool dfs(string str)
{if(sg.count(str)) return  sg[str];// 记忆化// 如果只有一个空位,也就是说后手必败if(check(str)) return sg[str]=false;/** 模拟放一个的情况*/for(int i=0;i<str.size();i++){if(str[i]=='O'){string s=str;s[i]='X';// 可达必败均为必胜// 意思是存在当前选手下了某一步棋之后,后面的选手不管怎么下都必败if(!dfs(s)) return sg[str]=true;}}/** 模拟放两个的情况*/for(int i=0;i<str.size()-1;i++){	// i!=3是什么意思?因为这里是把两行排成一行了,不能第一行最后一个+第二行第一个算作连续两个if(str[i]=='O'&&str[i+1]=='O'&&i!=3){string s=str;s[i]='X';s[i+1]='X';// 可达必败均为必胜if(!dfs(s)) return  sg[str]=true;}}// 只达必胜均为必败// 排除了所有可能到达必败态的情况,接下来不管自己或者下一步对方怎么下对方都必胜,自己必败return sg[str]=false;
}
int main()
{// 表示棋盘的四种状态string str[4]={"XOOOOOOO","XXOOOOOO","OXOOOOOO","OXXOOOOO"};for(int i=0;i<4;i++){sg.clear();if(dfs(str[i])) cout<<"L";// 后手必胜else cout<<"V";  	}return 0;
}

 

研究生组 小蓝与药匙(错排)

思路:从28把钥匙中选14(14钥匙一 一对应对应对的门) 然后让剩下的14把钥匙错排 

错排公式

An=(n-1)*(An-1+An-2) 

#include<iostream>
#include<algorithm>
#define int long long
using namespace std;
const int N=30;
int f[N];
signed main()
{int num=1,num1=1;for(int i=15;i<=28;i++) num*=i;for(int i=1;i<=14;i++) num1*=i;num/=num1;f[1]=0;f[2]=1;for(int i=3;i<=14;i++){f[i]=(i-1)*(f[i-1]+f[i-2]);}cout<<f[14]*num<<endl;return 0;
}

 

http://www.lryc.cn/news/337924.html

相关文章:

  • vim快捷指令
  • LINUX 下IPTABLES配置详解
  • CentOS 网卡ifcfg-eth0 ping不通外网(www.baidu.com)
  • 【C++】类和对象②(类的默认成员函数:构造函数 | 析构函数)
  • 【ZZULIOJ】1063: 最大公约与最小公倍(Java)
  • 遍历列举俄罗斯方块的所有形状
  • 将Visio绘图导出PDF文件,使其自适应大小,并去掉导入Latex的边框显示
  • android支付宝接入流程
  • Mac 下 Python+Selenium 自动上传西瓜视频
  • 六:ReentrantLock —— 可重入锁
  • 一种驱动器的功能安全架构介绍
  • 紫光展锐T610平台_4G安卓核心板方案定制开发
  • C++11 设计模式4. 抽象工厂(Abstract Factory)模式
  • 第8周 Python面向对象编程刷题
  • 【学习心得】神经网络知识中的符号解释②
  • Igh related:Small Bug And Notes Record.
  • 【QT入门】Qt自定义控件与样式设计之qss介绍(Qt style sheet)
  • [ LeetCode ] 题刷刷(Python)-第49题:字母异位词分组
  • 冒泡排序算法实现步骤
  • js实现webp转png/jpg
  • DVWA -File Upload-通关教程-完结
  • 中介者模式:简化对象间通信的协调者
  • 【Python系列】pydantic版本问题
  • 深度学习-多尺度训练的介绍与应用
  • 详解单文件组件
  • MLeaksFinder报错
  • 【心路历程】初次参加蓝桥杯实况
  • 微信小程序全屏开屏广告
  • 记录day1
  • stm32GPio的开发基础