当前位置:网站首页>[蓝桥杯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;
}
边栏推荐
- 学习问题1:127.0.0.1拒绝了我们的访问
- [ahoi2009]chess Chinese chess - combination number optimization shape pressure DP
- [number theory] divisor
- 【博主推荐】C#MVC列表实现增删改查导入导出曲线功能(附源码)
- CSDN Q & a tag skill tree (V) -- cloud native skill tree
- Error reporting solution - io UnsupportedOperation: can‘t do nonzero end-relative seeks
- Navicat 導出錶生成PDM文件
- Introduction and use of automatic machine learning framework (flaml, H2O)
- Project practice - background employee information management (add, delete, modify, check, login and exit)
- [recommended by bloggers] C # generate a good-looking QR code (with source code)
猜你喜欢

How to configure flymcu (STM32 serial port download software) is shown in super detail

QT creator runs the Valgrind tool on external applications
![[download app for free]ineukernel OCR image data recognition and acquisition principle and product application](/img/1b/ed39a8b9181660809a081798eb8a24.jpg)
[download app for free]ineukernel OCR image data recognition and acquisition principle and product application

Generate PDM file from Navicat export table

QT creator custom build process

Picture coloring project - deoldify

QT creator support platform

Leetcode 461 Hamming distance

【博主推荐】asp.net WebService 后台数据API JSON(附源码)

CSDN blog summary (I) -- a simple first edition implementation
随机推荐
虚拟机Ping通主机,主机Ping不通虚拟机
AcWing 179.阶乘分解 题解
How to build a new project for keil5mdk (with super detailed drawings)
【博主推荐】C# Winform定时发送邮箱(附源码)
CSDN markdown editor
CSDN Q & a tag skill tree (V) -- cloud native skill tree
JDBC原理
解决安装Failed building wheel for pillow
Image recognition - pyteseract TesseractNotFoundError: tesseract is not installed or it‘s not in your path
In the era of DFI dividends, can TGP become a new benchmark for future DFI?
Error reporting solution - io UnsupportedOperation: can‘t do nonzero end-relative seeks
What does usart1 mean
The virtual machine Ping is connected to the host, and the host Ping is not connected to the virtual machine
A brief introduction to the microservice technology stack, the introduction and use of Eureka and ribbon
Introduction to the easy copy module
Install mysql5.5 and mysql8.0 under windows at the same time
Antlr4 uses keywords as identifiers
AI benchmark V5 ranking
报错解决 —— io.UnsupportedOperation: can‘t do nonzero end-relative seeks
JDBC principle