FZU - 2107 Hua Rong Dao(回溯)

Apifox 自动化测试新增流程控制条件,复杂测试场景不再是问题 在 if 条件后的输入框填写请求接口得到的变量 viewed ,选择条件为「小于」,输入比较数值 10 ,并在 if 条件下添加「宠物下架处理」步骤。借助新增的自动化测试流程控制条件,测试人员就可以使用 Apifox 去实现更深层更多样的测试应用场景,帮助提升测试效率,减少复杂场景的测试操作。「查询新建宠物」、「修改宠物状态为已售出」和「查询宠物状态是否修改」步骤为当前在售宠物信息盘点的三个标准步骤,所以将这三个步骤合成一组。在循环中添加「查询在售宠物」和「修改宠物状态」步骤; 阅读详情
Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u

Description

Cao Cao was hunted down by thousands of enemy soldiers when he escaped from Hua Rong Dao. Assuming Hua Rong Dao is a narrow aisle (one N*4 rectangle), while Cao Cao can be regarded as one 2*2 grid. Cross general can be regarded as one 1*2 grid.Vertical general can be regarded as one 2*1 grid. Soldiers can be regarded as one 1*1 grid. Now Hua Rong Dao is full of people, no grid is empty.

There is only one Cao Cao. The number of Cross general, vertical general, and soldier is not fixed. How many ways can all the people stand?

Input

There is a single integer T (T≤4) in the first line of the test data indicating that there are T test cases.

Then for each case, only one integer N (1≤N≤4) in a single line indicates the length of Hua Rong Dao.

Output

For each test case, print the number of ways all the people can stand in a single line.

Sample Input

2
1
2

Sample Output

0
18

Hint

Here are 2 possible ways for the Hua Rong Dao 2*4.

题目大意:

给你一个4*n 的棋盘,上门放有只有1个2*2的曹操,和任意个1*2的将军、或者1*1的小兵,能组成多少种可能。


解析:这是一道回溯问题,要抓住几个关键条件只有1个曹操,所以递归的结束条件为曹操标记为真,和棋盘上格子全满。

还有一个关键点是下一层递归时,如果c == 4 的话,需要转到下一行的第一个进行判断。


#include <stdio.h>  
#include <string.h>  
const int N = 4;  

int cnt;  
bool king;  
bool vis[N][N];  
int n;  

void dfs(int r,int c,int sum) {  
	if( sum == 4*n && king ) {  
		cnt++;
		return ;  
	}
	if(c == 4) {
		dfs(r+1,0,sum);
		return ;
	}
	for(int i = r; i < n; i++) {
		for(int j = c; j < 4; j++) {  
			//2*2  
			if( !vis[i][j] && !vis[i+1][j] && !vis[i][j+1] && !vis[i+1][j+1] && !king && i+1 < n && j+1 < 4) {  
				vis[i][j] = vis[i+1][j] = vis[i][j+1] = vis[i+1][j+1] = true;  
				king = true;  
				dfs(i,j+1, sum+4);  
				vis[i][j] = vis[i+1][j] = vis[i][j+1] = vis[i+1][j+1] = false;  
				king = false;  
			}  
			//1*2  
			if( !vis[i][j] && !vis[i][j+1] && j+1 < 4) {  
				vis[i][j] = vis[i][j+1] = true;  
				dfs(i,j+1, sum+2);  
				vis[i][j] = vis[i][j+1] = false;  
			}  
			//2*1  
			if( !vis[i+1][j] && !vis[i][j] && i+1 < n) {  
				vis[i+1][j] = vis[i][j] = true;  
				dfs(i,j+1, sum+2);  
				vis[i+1][j] = vis[i][j] = false;  
			}  
			//1*1  
			if( !vis[i][j]) {  
				vis[i][j] = true;  
				dfs(i,j+1, sum+1);  
				vis[i][j] = false;  
			}  
			if( j == 3) {  
				c = 0;
			}  
		}  
	}  
}  

int main() {  
	int t;  
	while( scanf("%d",&t) != EOF) {  
		while( t-- ) {  
			memset(vis,0,sizeof(vis));  
			king = false;  
			cnt = 0;  
			scanf("%d",&n);  
			dfs(0,0,0);  
			printf("%d\n",cnt);  
		}  
	}  
	return 0;  
} 


C/C++跳动的爱心(完整代码) C语言实现跳动的爱心的完整代码。 阅读详情

相关推荐

如何用 Python 实现自动化测试?详细步骤和代码示例

Python自动化测试实战指南 本文系统介绍了使用Python构建自动化测试体系的完整方案。主要内容包括: 环境搭建:Python 3.8+虚拟环境配置,安装pytest、Selenium等核心测试库 分层测试实现: 单元测试:通过计算器示例演示pytest断言和异常测试 API测试:使用requests库进行RESTful接口验证 UI测试:Selenium WebDriver实现网页交互测试 高级特性: 使用fixture管理测试依赖 参数化实现数据驱动测试 生成HTML和Allure测试报告 GitH

m0_64424835的博客 452

FZU2107:Hua Rong Dao(DFS)

Problem Description Cao Cao was hunted down by thousands of enemy soldiers when he escaped from Hua Rong Dao. Assuming Hua Rong Dao is a narrow aisle (one N*4 rectangle), while Cao Cao can be regar

ACM!荣耀之路! 1860

别再搞混了!用示波器实测SVPWM:相电压、线电压、端电压波形到底长啥样?(附TI/ST官方笔记解读)

本文详细解析了SVPWM波形实测中的相电压、线电压和端电压的区别与测量技巧,结合TI/ST官方笔记,揭示了马鞍形波形的形成原理及常见误区。通过示波器实测案例,帮助电力电子工程师准确理解并应用这些关键概念,提升电机控制系统的调试效率。

weixin_30632883的博客 433

FZU 2107 Hua Rong Dao 递归回溯

点击打开链接 Problem 2107 Hua Rong Dao Accept: 254    Submit: 591 Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description Cao Cao was hunted down by thousands of enemy sol

代码改变世界,keep coding。 1535

Windows Server+SqlServer Always On实战:5步搞定高可用集群搭建

本文详细介绍了在Windows Server环境中,通过5个关键步骤搭建SQL Server Always On高可用集群的实战指南。内容涵盖从底层故障转移集群配置、SQL Server实例启用Always On功能,到创建可用性组和侦听器的完整流程,并提供了核心运维与故障排查思路,帮助企业构建稳定可靠的数据库高可用架构。

milk5的博客 859

yolov11使用记录(训练自己的数据集)

本文介绍了如何安装和使用Ultralytics YOLOv11进行目标检测。首先,通过Anaconda创建并激活虚拟环境,安装必要的依赖库如PyTorch和Ultralytics。接着,从GitHub下载YOLOv11源码,并在PyCharm中配置环境。下载预训练的YOLOv11模型后,通过编写简单的Python脚本进行图片检测,验证环境配置的正确性。最后,文章提到可以基于此环境训练自定义模型。整个过程涵盖了从环境搭建到模型应用的完整流程,适合初学者快速上手YOLOv11。

IT菜鸟 7549

fzu 2107 Hua Rong Dao(状态压缩)

Problem 2107 Hua Rong Dao Accept: 106    Submit: 197 Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description Cao Cao was hunted down by thousands of enemy soldiers when he es

q775968375的专栏 1908

PyTorch实战:A2C算法在Pendulum环境中的调参技巧与收敛优化

本文详细介绍了使用PyTorch实现A2C算法在Pendulum环境中的调参技巧与收敛优化方法。通过分析Pendulum环境特性、设计高效的网络架构、优化超参数设置以及提升训练稳定性,帮助开发者掌握强化学习中的policy-based方法。文章特别强调了奖励工程、优势估计改进和梯度裁剪等关键优化策略,为连续控制任务提供了实用解决方案。

rum55的博客 213

fzu 2107 Hua Rong Dao

题目链接:http://acm.fzu.edu.cn/problem.php?pid=2107题意:给你四个单位的物体,一个2*2的曹操,2*1的兵种,1*2的兵种,以及1*1的兵种,让你计算3*4,以及4*4的矩阵中,有且仅含有一个曹操,并且其他的随意放入,只要最终全部放满的总的次数。 一共只有4组案例,其实可以手动算答案(只要你不出错,真的!!!)代码:#include <cmath> #in

silver_bone的博客 364

PSF(点扩散函数)与去卷积算法消除图像模糊

本文旨在总结图像处理中使用去卷积的传统方法来进行图像去模糊的相关知识。

m0_53607446的博客 6015

RK3588 平台imx334 驱动调试记录

rk3588调试imx334

xiaoning132的专栏 1790

FZU 2107 Hua Rong Dao_暴力dfs

原题: Accept: 147    Submit: 416 Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description Cao Cao was hunted down by thousands of enemy soldiers when he escaped from Hua Rong

u011343989的专栏 666

7.6 GPU页表更新机制

本文分析了AMDGPU驱动中BO到VA映射的页表更新实现机制。核心流程通过amdgpu_vm_bo_update()函数触发,支持CPU直接写入和SDMA异步命令两种更新模式。系统根据VRAM可见性自动选择最优更新策略,处理三种主要场景:命令提交、BO迁移和BO销毁。关键实现包括DMA地址数组处理、权限标志合并和BO迁移状态转换,最终通过amdgpu_vm_update_range()完成硬件页表更新。该机制有效平衡了更新延迟与吞吐量,为GPU虚拟内存管理提供基础支撑。

图形/计算GPU的驱动与虚拟化技术分享园地 2470

fzu 2107 Hua Rong Dao(回溯)

题目链接:fzu 2107 Hua Rong Dao 题目大意:给出n(1≤n≤4)然后在一个n * 4的格子上放矩形,必须放一个2*2的(为题目背景下的曹操),然后剩余的位置要用三种矩形拼接。 解题思路:先枚举曹操的位置,然后用回溯的方式枚举出所有可能,计算总数。 #include #include const int N = 10; const int d

不慌不忙、不急不躁 1287

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

FZU - 2107 Hua Rong Dao 回溯

题目大意:给出一个N*4的方格,要求你用2*2,2*1,1*2,1*1的格子将其填满,2*2的格子必须要有,问有多少中填满N*4方格的方法 解题思路:回溯 #include #include int ans[5] = {0,0,18}; int vis[5][4],res; bool flag; bool judge(int cur) { if(!flag) return false

静静地码 908

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

FZU 2107 Hua Rong Dao(暴力回溯)

dfs暴力回溯,这个代码是我修改以后的,里面的go相当简洁,以前的暴力手打太麻烦,我也来点技术含量.. #include<iostream> #include<cstring> #include<cstdio> using namespace std; #define m 4 int caocao[4][2] = {0,0,0,1,1,0,1,1...

weixin_30741653的博客 137

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

FZU - 2107 Hua Rong Dao

题目大意:给出n(1≤n≤4)然后在一个n * 4的格子上放矩形,必须放一个2*2的(为题目背景下的曹操),然后剩余的位置要用三种矩形拼接 解题思路:先枚举曹操的位置,然后用回溯的方式枚举出所有可能,计算总数 #include int A[5][5] = {0}, ans, n; void DFS(int i, int j) { if (i > n) ans++; els

Bingo 1876

FZU 2107 Hua Rong Dao

题意:求用4种类型的矩形拼成4*N的方法个数,其中2*2的必须且只能用到一次,回溯的尝试放的矩形,起初return的位置错了,注意我们每次只尝试放一种,且一定能放的下1*1的矩形(在满足题意的情况下),所以return要放在1*1的里面,起初我放在了两个for的外面破坏了递归的结构#include #include #include #include using namespace std

那些年 1112

FZU Problem 2107 Hua Rong Dao (打表 dfs)

FZU Problem 2107 Hua Rong Dao (打表 dfs)

1443

FZU 2107 Hua Rong Dao (DFS)

DescriptionCao Cao was hunted down by thousands of enemy soldiers when he escaped from Hua Rong Dao. Assuming Hua Rong Dao is a narrow aisle (one N*4 rectangle), while Cao Cao can be regarded as one 2

Woo的专栏 297

FZU 2107 Hua Rong Dao(dfs)

Problem 2107 Hua Rong Dao Accept: 318 Submit: 703 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description Cao Cao was hunted down by thousands of enemy soldiers when he es...

weixin_30387663的博客 180

F - Hua Rong Dao FZU - 2107

Cao Cao was hunted down by thousands of enemy soldiers when he escaped from Hua Rong Dao. Assuming Hua Rong Dao is a narrow aisle (one N*4 rectangle), while Cao Cao can be regarded as one 2*2 grid. C...

海绵的博客 267

FZU2107 Hua Rong Dao(DFS模拟)

题目链接:fzu2107 题目大意:给一张N * 4的表,分别有2 * 2的方块1个以及多个1 * 2,2 * 1, 1 * 1的方块,要求将这张表填满,问有几种填法。N < 4 解题思路:DFS模拟填表的过程(队友尝试手推…orz 自己其实挺怕这种问填法的,导致连模拟都没尝试写,甚至一度以为是状压DP啥的,傻…)。 Code: #include <iostream> #inc...

小胡同的诗 236

cao

实验目的: 熟悉图形图像基本概念及PhotoshopCS操作环境。 实验内容: 1.熟悉PhotoshopCS操作环境。 2.掌握PhotoshopCS规则选择工具组应用。 3.掌握PhotoshopCS不规则选择工具组应用。 实验步骤: 1)在图像苹果.jpg中,用矩形选择工具完成选择单个矩形、多个矩形选择,完成取消选区等操作,熟练快捷方式的应用,熟悉矩形选择工具样式的应用。学会选区的拖动、选区

套锁 909

Hua Rong Dao FZU - 2107(dfs)

暴力dfs搜索,注意return的位置,如果枚举完四种放法不return的话那么就会空出一行 #include <iostream> #include <algorithm> #include <cstring> using namespace std; int ans; bool fg; int n; int vis[11][11]; bool ch...

leekerian的博客 192

FZU 2107 Hua Rong Dao 轮廓线上的动态规划

Problem 2107 Hua Rong Dao   Accept: 365    Submit: 796 Time Limit: 1000 mSec    Memory Limit : 32768 KB Problem Description Cao Cao was hunted down by thousands of enemy soldiers when h

便纵有千种风情 595
上一篇: UVA - 10012 How Big Is It?(全排列 堆球问题)
下一篇: Hdu 1285 确定比赛名次(拓扑排序)
HelloWorld10086
博客等级 码龄12年 88粉丝 614原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值