当前位置:网站首页>[蓝桥杯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;
}
边栏推荐
- A trip to Macao - > see the world from a non line city to Macao
- Ansible practical Series II_ Getting started with Playbook
- 数数字游戏
- Software testing - interview question sharing
- 数据库高级学习笔记--SQL语句
- [ahoi2009]chess Chinese chess - combination number optimization shape pressure DP
- Esp8266 at+cipstart= "", "", 8080 error closed ultimate solution
- Record a problem of raspberry pie DNS resolution failure
- JDBC原理
- [number theory] divisor
猜你喜欢

In the era of DFI dividends, can TGP become a new benchmark for future DFI?

Knowledge Q & A based on Apache Jena

Deoldify项目问题——OMP:Error#15:Initializing libiomp5md.dll,but found libiomp5md.dll already initialized.

Install mysql5.5 and mysql8.0 under windows at the same time

Install mongdb tutorial and redis tutorial under Windows

1. Mx6u learning notes (VII): bare metal development (4) -- master frequency and clock configuration

csdn-Markdown编辑器

Installation and use of MySQL under MySQL 19 Linux

Deoldify project problem - omp:error 15:initializing libiomp5md dll,but found libiomp5md. dll already initialized.

打开浏览器的同时会在主页外同时打开芒果TV,抖音等网站
随机推荐
TCP/IP协议(UDP)
Why can't STM32 download the program
[C language foundation] 04 judgment and circulation
How to configure flymcu (STM32 serial port download software) is shown in super detail
Classes in C #
Attention apply personal understanding to images
解决安装Failed building wheel for pillow
1. Mx6u learning notes (VII): bare metal development (4) -- master frequency and clock configuration
QT creator custom build process
frp内网穿透那些事
A trip to Macao - > see the world from a non line city to Macao
[recommended by bloggers] asp Net WebService background data API JSON (with source code)
Installation and use of MySQL under MySQL 19 Linux
Why can't I use the @test annotation after introducing JUnit
软件测试与质量学习笔记3--白盒测试
Image recognition - pyteseract TesseractNotFoundError: tesseract is not installed or it‘s not in your path
Esp8266 at+cipstart= "", "", 8080 error closed ultimate solution
SSM整合笔记通俗易懂版
What does usart1 mean
Pytorch基础