计蒜客 递推

A 点有一个过河卒,需要走到目标 BBB 点。卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如上图的 CCC 点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点。例如上图 CCC 点上的马可以控制 999 个点(图中的 P1,P2⋯P8P1,P2 \cdots P8P1,P2P8CCC)。卒不能通过对方马的控制点。

棋盘用坐标表示,AAA 点(000000)、BBB 点(nnnmmm)、CCC 点(cxc_xcxcyc_ycy)(0<cx<n≤200 < c_x < n \leq 200<cx<n200<cy<m≤200 < c_y < m \leq 200<cy<m20)。现在要求你计算出过河卒从 AAA 点能够到达 BBB 点的路径的条数。注:象棋中马走“日”。

输入格式

输入 444 个整数,nnnmmmcxc_xcxcyc_ycy,分别表示 BBB 点的横纵坐标和 CCC 点的横纵坐标。

输出格式

输出一个整数,代表从 AAA 点走到 BBB 点的所有路径数。

样例输入
5 5 2 4
样例输出
14
#include 
     
     
      
      
int cx, cy;  //马的坐标
int x[8] = { 1,1,2,2,-1,-1,-2,-2 };
int y[8] = { 2,-2,1,-1,2,-2,1,-1 };
long long d[30][30];
long long f[30][30];
int main()
{
	int n, m, cx, cy;
	scanf("%d%d%d%d", &n, &m, &cx, &cy);
	for (int i = 0; i < 30; ++i)
	{
		for (int j = 0; j < 30; ++j)
		{
			d[i][j] = 0;
		}
	}
	d[cx][cy] = 1;
	for (int i = 0; i < 8; ++i)
	{
		int tx = cx + x[i];
		int ty = cy + y[i];
		if (tx >= 0 && tx <= n&&ty >= 0 && ty <= n)
		{
			d[tx][ty] = 1;
		}
	}
	f[0][0] = 1;
	for (int i = 0; i <= n; ++i) {
		for (int j = 0; j <= m; ++j) {
			if (i != 0&&d[i][j]!=1) {
				f[i][j] = f[i][j] + f[i - 1][j];
			}
			if (j != 0 && d[i][j] != 1) {
				f[i][j] = f[i][j] + f[i][j - 1];
			}
		}
	}
	printf("%lld", f[n][m]);
	// f[n][m]即为点(n,m)的路径数目。
	return 0;
}
     
     

蒜头君觉得白色的墙面好单调,他决定给房间的墙面涂上颜色。他买了 333 种颜料分别是红、黄、蓝,然后把房间的墙壁竖直地划分成 nnn 个部分,蒜头希望每个相邻的部分颜色不能相同。他想知道一共有多少种给房间上色的方案。

例如,当 n=5n = 5n=5 时,下面就是一种合法方案。

由于墙壁是一个环形,所以下面这个方案就是不合法的。

输入格式

一个整数 nnn,表示房间被划分成多少部分。(1≤n≤501 \leq n \leq 501n50

输出格式

一个整数,表示给墙壁涂色的合法方案数。

样例输入
4
样例输出
18
#include 
      
      
       
       
long long F[10000];
int main()
{
	int n;
	scanf("%d", &n);
	F[1] = 3;
	F[2] = 6;
	F[3] = 6;
	for (int i = 4; i <=n; i++)
	{
		F[i] = F[i - 1] + 2 * F[i - 2];
	}
	printf("%lld\n", F[n]);
	return 0;
}
      
      



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《VMware vSAN 超融合技术规划与部署》课程共分为“上集”和“下集”两部分,本套视频为“下集”部分,接续“上集”知识,是vSAN技术进阶推荐课程。  《VMware vSAN 超融合技术规划与部署》“下集”部分具体课程章节如下。  第1章 《使用延伸群集将数据存储扩展到两个站点》主要内容本章主要讲解了vSAN延伸群集的相关理论及构建vSAN延伸群集的方法。通过本章学习,您可以掌握延伸群集的设计注意事项和推荐做法;掌握使用快速入门功能配置延伸群集的方法;掌握手动配置延伸群集的方法;掌握将延伸群集更改为标准群集的方法。  第2章 《vSAN延伸群集策略》主要内容本章主要讲解了vSAN延伸群集中的虚拟机存储策略。通过本章学习,您可以理解允许的故障数主要级别 (PFTT)含意;理解允许的故障数辅助级别 (SFTT)含意;通过试验进一步理解PFTT和SFTT含意;掌握将VM放置在首xuan站点和辅助站点操作过程。  第3章 《管理 vSAN 群集中的故障域》主要内容本章主要讲解了vSAN群集中的故障域相关理论和实践知识。通过本章学习,您可以了解故障域的设计思想;掌握在 vSAN 群集中创建新的故障域的操作方法;掌握将主机移出故障域的操作方法;掌握将主机移至选定的故障域的操作方法;掌握重命名故障域的操作方法;掌握移除选定的故障域的操作方法。  第4章 《管理 vSAN 群集》主要内容本章主要讲解了管理vSAN群集相关知识。通过本章学习,您可以理解什么是维护模式;掌握使用维护模式的操作方法;掌握将混合 vSAN 群集迁移到全闪存群集操作方法;掌握关闭 vSAN 群集电源的方法。  第5章 《使用 vSAN iSCSI 目标服务》主要内容本章主要讲解了在vSAN环境中配置iSCSI目标服务,以把vSAN数据存储提供给外部用户使用。通过本章学习,您可以掌握vSAN iSCSI 目标服务的设计思想;学会创建vSAN iSCSI 目标服务;学会使用客户端连接vSAN iSCSI 目标服务;掌握vSAN iSCSI 目标服务的使用方法。  第6章 《vSAN 群集中的设备管理》主要内容本章主要讲解了vSAN 群集中的设备(缓存盘和容量盘)管理。通过本章学习,您可以学会将设备添加到磁盘组的操作方法;学会从 vSAN 移除磁盘组或设备的操作方法;学会重新创建磁盘组的操作方法;学会使用定位符 LED的操作方法;学会将设备标记为闪存的操作方法;学会将设备标记为 HDD的操作方法;学会添加容量设备的操作方法;学会从设备移除分区的操作方法。  第7章 《提高 vSAN 群集中的空间效率》主要内容本章主要讲解了提高 vSAN 群集中的空间效率相关知识。通过本章学习,您可以了解vSAN 空间效率理论知识;掌握使用去重和压缩的操作方法;了解RAID 5 或 RAID 6 删除编码;了解RAID 5 或 RAID 6 设计注意事项。  第8章 《vSAN监控》主要内容本章主要讲解了vSAN监控相关知识。通过本章学习,您可以掌握监控 vSAN 群集的操作方法;掌握监控 vSAN 运行状况的操作方法;掌握监控 vSAN 性能的操作方法。  VMware vSAN 6.7 超融合技术规划与部署(上集):https://edu.csdn.net/course/detail/35188VMware vSAN 6.7 超融合技术规划与部署(下集):https://edu.csdn.net/course/detail/35191
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值