FZU - 2107 Hua Rong Dao
来源:互联网 发布:javascript在线格式化 编辑:程序博客网 时间:2024/05/22 21:22
题目大意:给出n(1≤n≤4)然后在一个n * 4的格子上放矩形,必须放一个2*2的(为题目背景下的曹操),然后剩余的位置要用三种矩形拼接
解题思路:先枚举曹操的位置,然后用回溯的方式枚举出所有可能,计算总数
#include <cstdio>int A[5][5] = {0}, ans, n;void DFS(int i, int j) {if (i > n)ans++;else if (A[i][j])DFS(i + j / 4, j % 4 + 1);else {if (i < n && !A[i+1][j]) {A[i][j] = A[i+1][j] = 1;DFS(i, j);A[i][j] = A[i+1][j] = 0;}if (j < 4 && !A[i][j+1]) {A[i][j] = A[i][j+1] = 1;DFS(i, j);A[i][j] = A[i][j+1] = 0;}A[i][j] = 1;DFS(i, j);A[i][j] = 0;}}int main() {int T;scanf("%d", &T);while (T--) {ans = 0;scanf("%d", &n);for (int i = 1; i < n; i++)for (int j = 1; j < 4; j++) {A[i][j] = A[i+1][j] = 1;A[i][j+1] = A[i+1][j+1] = 1;DFS(1, 1);A[i][j] = A[i+1][j] = 0;A[i][j+1] = A[i+1][j+1] = 0;}printf("%d\n", ans);}return 0;}
0 0
- FZU 2107 Hua Rong Dao
- FZU - 2107 Hua Rong Dao
- fzu 2107 Hua Rong Dao
- fzu 2107 Hua Rong Dao(状态压缩)
- fzu 2107 Hua Rong Dao(回溯)
- FZU - 2107 Hua Rong Dao(回溯)
- FZU - 2107 Hua Rong Dao 回溯
- FZU 2107 Hua Rong Dao 递归回溯
- FZU 2107 Hua Rong Dao(dfs)
- FZU 2107 Hua Rong Dao (DFS)
- FZU 2107F - Hua Rong Dao
- fzu 2107 Hua Rong Dao(状压dp)
- FZU Problem 2107 Hua Rong Dao (打表 dfs)
- FZU 2107 Hua Rong Dao 轮廓线上的动态规划
- FZU 2107 Hua Rong Dao_暴力dfs
- FOJ FZU 2017 Hua Rong Dao【DFS+打表】
- FZU2107:Hua Rong Dao(DFS)
- JOJ 2724 hua rong dao (最小割 拆点)[无代码]
- [Leetcode]Intersection of Two Linked Lists
- C++中const使用总结
- 中介者模式
- SQL 语句中的通配符
- 单线程模型中Message、Handler、MessageQueue、Looper之间的关系
- FZU - 2107 Hua Rong Dao
- enum与typedef enum的用法
- Duilib学习笔记《01》— duilib整体框架认识
- QML类型
- Android学习笔记一:Android开发环境搭建和第一个应用程序
- Duilib学习笔记《02》— 界面布局
- Spring MVC--入门
- linearlayout 中listview 挤占其后view位置
- Duilib学习笔记《03》— 控件使用