当前位置:网站首页>[蓝桥杯2017初赛]方格分割
[蓝桥杯2017初赛]方格分割
2022-07-06 09:14:00 【%xiao Q】
题目
分析
因为每种方案都是经过中间那个点(3,3),所以我们可以从(3,3)开始分2个方向 搜索(并且这2方向是对称的,所以当一个方向到边界,另一个也会到边界,也就是一种答案)
参考代码
#include <iostream>
#include <cstdio>
#include <vector>
#include <cstring>
#include <cmath>
#include <queue>
#include <stack>
#include <algorithm>
#include <unordered_map>
#define LL long long
#define rep(i, a, b) for(int i = a; i <= b; i++)
#define reps(i, a, b) for(int i = a; i < b; i++)
#define pre(i, a, b) for(int i = b; i >= a; i--)
using namespace std;
typedef pair<int, int> PII;
bool st[10][10] = {
0};
int dx[] = {
1, -1, 0, 0};
int dy[] = {
0, 0, 1, -1};
int ans = 0;
void dfs(int x, int y)
{
// 遇到边界就是一种方案
if(x == 0 || x == 6 || y == 0 || y == 6)
{
ans++;
return ;
}
rep(i, 0, 3)
{
int x1 = x + dx[i], y1 = y + dy[i];
int x2 = 6 - x1, y2 = 6 - y1; //(X1,y1)关于(3,3)对称的点
if(x1 < 0 || x1 > 6 || y1 < 0 || y1 > 6 || st[x1][y1]) continue;
st[x1][y1] = st[x2][y2] = true; //2个对称的点同是标记
dfs(x1, y1);
st[x1][y1] = st[x2][y2] = false; //回溯
}
}
int main()
{
st[3][3] = true;
dfs(3, 3);
cout << ans / 4 << endl; // 因为上下,左右都是对称的,所以除与4
return 0;
}
边栏推荐
- Error connecting to MySQL database: 2059 - authentication plugin 'caching_ sha2_ The solution of 'password'
- Ansible practical Series II_ Getting started with Playbook
- Learning question 1:127.0.0.1 refused our visit
- Tcp/ip protocol (UDP)
- QT creator uses Valgrind code analysis tool
- [recommended by bloggers] C # generate a good-looking QR code (with source code)
- Development of C language standard
- 基于apache-jena的知识问答
- [BMZCTF-pwn] 12-csaw-ctf-2016-quals hungman
- There are three iPhone se 2022 models in the Eurasian Economic Commission database
猜你喜欢
[recommended by bloggers] C WinForm regularly sends email (with source code)
02-项目实战之后台员工信息管理
学习问题1:127.0.0.1拒绝了我们的访问
软件测试与质量学习笔记3--白盒测试
Rhcsa certification exam exercise (configured on the first host)
Error connecting to MySQL database: 2059 - authentication plugin 'caching_ sha2_ The solution of 'password'
Esp8266 at+cipstart= "", "", 8080 error closed ultimate solution
图像识别问题 — pytesseract.TesseractNotFoundError: tesseract is not installed or it‘s not in your path
Swagger, Yapi interface management service_ SE
一键提取pdf中的表格
随机推荐
项目实战-后台员工信息管理(增删改查登录与退出)
@Controller, @service, @repository, @component differences
Ubuntu 20.04 安装 MySQL
How to configure flymcu (STM32 serial port download software) is shown in super detail
引入了junit为什么还是用不了@Test注解
Image recognition - pyteseract TesseractNotFoundError: tesseract is not installed or it‘s not in your path
Invalid global search in idea/pychar, etc. (win10)
Base de données Advanced Learning Notes - - SQL statements
Idea import / export settings file
Antlr4 uses keywords as identifiers
Tcp/ip protocol (UDP)
图片上色项目 —— Deoldify
Remember a company interview question: merge ordered arrays
Number game
Windows cannot start the MySQL service (located on the local computer) error 1067 the process terminated unexpectedly
Deoldify project problem - omp:error 15:initializing libiomp5md dll,but found libiomp5md. dll already initialized.
MySQL other hosts cannot connect to the local database
A brief introduction to the microservice technology stack, the introduction and use of Eureka and ribbon
QT creator runs the Valgrind tool on external applications
AcWing 179.阶乘分解 题解