蓝桥杯day14刷题日记

P8707 [蓝桥杯 2020 省 AB1] 走方格

思路:很典型的动态规划问题,对于偶数格特判,其他的正常遍历一遍,现在所处的格子的方案数等于左边的格子的方案数加上上面格子的方案数之和

cpp 复制代码
#include <iostream>
using namespace std;
int n,m;
int f[40][40];

int main()
{
	cin>>n>>m;
	f[0][1]=1;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(i%2==0&&j%2==0) continue;
			f[i][j]=f[i-1][j]+f[i][j-1];
		}
	}
	cout<<f[n][m];
	return 0;
}

P8627 [蓝桥杯 2015 省 A] 饮料换购

思路:先cum暂时记录本次可以保留下来的瓶盖,然后用n记录本次共有多少瓶饮料,最后更新surplus

cpp 复制代码
#include <iostream>
using namespace std;
int n,sum,surplus;
int cum;

int main()
{
	cin>>n;
	while(n)
	{
		sum+=n;
		cum=(n+surplus)%3;
		n=(n+surplus)/3;
		surplus=cum;
	}
	cout<<sum<<endl;
	return 0;
} 

P8700 [蓝桥杯 2019 国 B] 解谜游戏

思路:注意到内中外圈数量比是1:2:3,所以无论怎么旋转在内圈的一个位置都对应着中圈的两个位置以及外圈的三个位置,如下图标黑的模块,由于操作三的存在着六根塑料棒可以相互交换位置,所以只要六根塑料棒里面有三根绿色的,两根红色的,一根黄色的就符合题目的要求,因此遍历四次找出这四个集合看是否都符合上述条件,只要有一个不符合就直接输出NO

cpp 复制代码
#include <iostream>
#include <cstring>
using namespace std;
int t,flag;
string s1,s2,s3;
int q[1001];

int main()
{
	cin>>t;
	for(int i=0;i<t;i++)
	{
		cin>>s1>>s2>>s3; 
		for(int i=0;i<4;i++)
		{
			q[s3[i]]++,q[s2[i]]++,q[s2[i+4]]++,q[s1[i]]++,q[s1[i+4]]++,q[s1[i+8]]++;
			if(q['R']!=2||q['Y']!=1||q['G']!=3)
			{
				cout<<"NO"<<endl;
				flag=1;
				memset(q,0,sizeof q);
				break;
			}
			memset(q,0,sizeof q);
		}
		if(!flag) cout<<"YES"<<endl;
		flag=0;
	}
	return 0;
}
相关推荐
三毛的二哥7 小时前
BEV:典型BEV算法总结
人工智能·算法·计算机视觉·3d
南宫萧幕8 小时前
自控PID+MATLAB仿真+混动P0/P1/P2/P3/P4构型
算法·机器学习·matlab·simulink·控制·pid
浪浪小洋9 小时前
c++ qt课设定制
开发语言·c++
charlie1145141919 小时前
嵌入式C++工程实践第16篇:第四次重构 —— LED模板,从通用GPIO到专用抽象
c语言·开发语言·c++·驱动开发·嵌入式硬件·重构
handler019 小时前
Linux: 基本指令知识点(2)
linux·服务器·c语言·c++·笔记·学习
故事和你919 小时前
洛谷-数据结构1-4-图的基本应用1
开发语言·数据结构·算法·深度优先·动态规划·图论
我叫黑大帅9 小时前
为什么map查找时间复杂度是O(1)?
后端·算法·面试
炽烈小老头9 小时前
【每天学习一点算法 2026/04/20】除自身以外数组的乘积
学习·算法
skilllite作者10 小时前
AI agent 的 Assistant Auto LLM Routing 规划的思考
网络·人工智能·算法·rust·openclaw·agentskills
破浪前行·吴11 小时前
数据结构概述
数据结构·学习