- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 569160 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 175971
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
2019第十届蓝桥杯B组决赛题解第五题
) z( \6 }5 M' e! `8 U: K在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数# U$ _2 p3 n! @# N0 G0 u% C
直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了+ b( L# A; c ]7 J
结果: 208-2=206
! u* L2 K, K. R0 B+ }代码:- J2 x; _& N! h) h
#include<bits/stdc++.h>
, L5 h- [' |' @# M7 s. t. b* X#define mem(a,b) memset(a,b,sizeof(a))* \' _* y3 O' ^0 s5 l& e2 ]7 {
using namespace std;
$ ^2 x: @# C# Ltypedef long long ll;+ b- N- g; \. X
const int inf = 0x3f3f3f3f;
5 x. r3 ]% u# V& A- G) e5 Jconst int maxn = 3e5+55555;
# k$ L9 W L! E4 u5 ?+ w; m" `const ll mod = 998244353;
. W4 l6 }- ?4 Y, zconst double eps = 1e-7;- {1 Q5 E& J4 V) \* o( {
# {0 I, L3 X- A7 o. H' V+ D- M
bool vis[10][10];
" H( \' w8 b* M3 H0 l, xint ne[4][2] = {1,0,-1,0,0,1,0,-1};3 [% h7 o% z2 `4 W; B2 }
int ans;; m; x! F) c9 f7 c, p! e# n3 _9 [
" f9 T4 w: m9 \, X7 T
void output() {
( C2 R, ?6 Z+ g- ]* ?4 g* A% c for(int i = 1;i<= 6;i++) {
6 M- _- z' F; J6 p2 J# O for(int j = 1;j<= 6;j++) {
( w0 ]; [( M- {& ]% _, n! T3 | cout<<vis[j]<<' ';2 X& X8 o; t- N" P
}2 x) |; w; @ m. D
cout<<endl;1 u" w. o$ b8 w$ l) A
}
! x, Z- N6 G" F, D& o/ ]2 s& [9 T3 m cout<<endl<<endl;
* i# X9 {5 C+ ~}
1 |! m% G R- W
# v" j6 A2 Z. {" xvoid dfs(int x,int y,int step) {6 D j6 p" i8 Z! R
if(step> 6) {6 O8 S" O# E# w. C! i7 H
return ;
" l* R, ~- k, u& b }
1 P! a% m) D N* P) e! }6 _$ f/ v% } if(x == 1&&y == 1&&vis[1][1] == true) {
, @7 r+ V3 {- U; t ans++;
6 i5 l" {: q( @+ W output();0 T% ?0 c& c Q8 M. `
return ;1 z5 G9 e2 o; Z, |. _
}4 ]5 A4 W' u5 U, L. \
for(int i = 0;i< 4;i++) {
) W; z& N' t, _" G$ c; e3 ` int tx = x+ne[0];# q2 X+ Y; M6 u B! o7 l
int ty = y+ne[1];
w% m$ ~* T, g4 S$ g1 i9 s( g; l. ~; c& T. t
if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue;
9 P/ V" P4 W( v2 M; ~ vis[tx][ty] = true;
, v1 x# K/ u j% R0 ^( m; ~ dfs(tx,ty,step+1);% P: V1 ^6 v+ z4 o& S* u
vis[tx][ty] = false;% _: K4 q8 l2 B( y
}
+ B- V3 W6 ^3 r: z' D return ;
7 z% Y2 {4 r" `! b, m2 G. y* Q2 N}: o( o0 J* i5 u: M8 Z! u1 Y
& L+ x5 D6 b( jint main() {' k5 n( E. s5 R: \; H
dfs(1,1,0);7 V) u, |' I& B$ g/ \' V) P m0 ^
cout<<ans<<endl;: Z. `. p$ O$ o, S. B5 o8 }
0 b2 F$ k2 q5 Q! i9 i return 0;5 N8 F) R& f- ]% _
}
" p+ g/ M8 @" E% B2 p--------------------- ) R9 s' M1 D% M f( v8 `8 A. \
作者:nka_kun 6 J4 V A7 g% g1 E! v
来源:CSDN
) P; m3 A* q _1 D$ Z' K. @9 \0 I: C' w5 i, @
: l& Y0 }- H! {" v" A: l
|
zan
|