当前位置:网站首页>[蓝桥杯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;
}
边栏推荐
- AcWing 179.阶乘分解 题解
- [recommended by bloggers] C MVC list realizes the function of adding, deleting, modifying, checking, importing and exporting curves (with source code)
- JDBC原理
- Ansible practical series I_ introduction
- @Controller, @service, @repository, @component differences
- QT creator design user interface
- CSDN blog summary (I) -- a simple first edition implementation
- Antlr4 uses keywords as identifiers
- Unable to call numpy in pycharm, with an error modulenotfounderror: no module named 'numpy‘
- Ansible实战系列二 _ Playbook入门
猜你喜欢
[number theory] divisor
QT creator specifies dependencies
Asp access Shaoxing tourism graduation design website
Install mysql5.5 and mysql8.0 under windows at the same time
Windows cannot start the MySQL service (located on the local computer) error 1067 the process terminated unexpectedly
引入了junit为什么还是用不了@Test注解
Classes in C #
Windows下安装MongDB教程、Redis教程
解决安装Failed building wheel for pillow
CSDN Q & a tag skill tree (V) -- cloud native skill tree
随机推荐
MySQL master-slave replication, read-write separation
QT creator shape
解决:log4j:WARN Please initialize the log4j system properly.
Learning question 1:127.0.0.1 refused our visit
Punctual atom stm32f103zet6 download serial port pin
Database advanced learning notes -- SQL statement
Why is MySQL still slow to query when indexing is used?
Leetcode 461 Hamming distance
One click extraction of tables in PDF
NPM an error NPM err code enoent NPM err syscall open
QT creator design user interface
Other new features of mysql18-mysql8
FRP intranet penetration
安全测试涉及的测试对象
1. Mx6u learning notes (VII): bare metal development (4) -- master frequency and clock configuration
The virtual machine Ping is connected to the host, and the host Ping is not connected to the virtual machine
【博主推荐】C#MVC列表实现增删改查导入导出曲线功能(附源码)
解决安装Failed building wheel for pillow
Rhcsa certification exam exercise (configured on the first host)
Knowledge Q & A based on Apache Jena