- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563321 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174219
- 相册
- 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组决赛题解第五题0 _: S7 V- B. Y6 X: b
在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数
- |8 d4 H+ C1 _+ C直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了5 y S7 J4 u- B6 P1 p; C7 m' L% Q1 j$ {
结果: 208-2=206 - ]; Y( p- J+ x
代码:
+ ?' o% a: B6 D: A0 M8 r# C! o#include<bits/stdc++.h>
$ A% I2 e8 k6 _, e/ S s# Q#define mem(a,b) memset(a,b,sizeof(a))
& G8 c. I+ G5 N* D! Lusing namespace std;& `. g5 ~( Z: P f, b: G
typedef long long ll;4 {; Q( K: n- e0 i8 M! i- _6 l
const int inf = 0x3f3f3f3f;
2 J- Y. l& a+ F0 Zconst int maxn = 3e5+55555;
! J9 W4 c( Q' }const ll mod = 998244353;) c3 S( g: y7 o. k
const double eps = 1e-7;% i& L8 J, w F! x- U
$ `& m' ~5 H; z% t7 s1 Wbool vis[10][10];8 i- e# y9 c$ d& q8 x% q, L) E i- { E
int ne[4][2] = {1,0,-1,0,0,1,0,-1};
( V2 x1 K F2 Xint ans;
7 l9 M4 x* z; ?# k/ J2 z% o
" Z' H1 T- r( A/ k& W$ n; C$ H- Evoid output() { J+ I3 }3 ^( z, [+ T7 c$ D) u
for(int i = 1;i<= 6;i++) {
( a% G& c- D- T. m% u5 W for(int j = 1;j<= 6;j++) {
: X5 q3 N+ o, l4 U; P* j. h cout<<vis[j]<<' ';
( T! w7 D( \" {( ` }
+ G" y. m% t5 C1 F cout<<endl;
0 F H: s) r7 r4 I1 d }
" Q2 `: X0 Z+ P: W% F, {% k cout<<endl<<endl;
. G/ Z; P' o( I' o/ d% v' A}0 ^( z3 j* P+ C! }) g% G0 T
1 ~3 E" I2 Y# \3 M/ q1 i
void dfs(int x,int y,int step) {# ~3 H7 a% F% t! P8 W. K' S3 e
if(step> 6) {
! V+ P8 s0 a5 Q" z+ O- c) b+ ? return ;! T. B; n9 y% N j
}& y: a: u/ T. ~3 w2 o
if(x == 1&&y == 1&&vis[1][1] == true) {
0 \: Y- L* l% B+ h ans++;
4 s# H1 G$ e8 j$ E output();) | }# R. n `0 E0 H
return ;; @1 c5 B! n7 l
}: T' V% A6 C) W+ ~. x
for(int i = 0;i< 4;i++) {
; R/ o+ k5 U* E* {, c int tx = x+ne[0];1 f) Y- t( }- B
int ty = y+ne[1];, f& B, s$ J) n: _+ b/ k
! k+ V2 q4 R$ W/ x7 _ if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue;
; i7 C2 ?' l1 m: `. ~; ~0 ]3 Q vis[tx][ty] = true;1 h( z. M3 v5 u4 G8 o
dfs(tx,ty,step+1);6 U5 Y7 d8 ?, M6 @# \1 `9 |; O- ]
vis[tx][ty] = false;5 S% f: D5 M7 o+ O; f
}
. l2 G; i/ e9 k' r3 T8 g0 b return ;: v' \( ~4 P+ `" M [
}
6 ]) X6 ^& h- q; Q/ q: a
9 ]9 _0 V9 O2 ^) rint main() {. `- Q; |9 Z, V4 [9 F4 T- {# N
dfs(1,1,0);
6 s {5 u& J! s9 J: c% a* j, G. p( ` cout<<ans<<endl;
1 G$ r0 l2 M# i2 w$ R$ R# i
( `- I; \; k% C2 ~5 Z: Y0 K# v ^ return 0; U% A4 {2 q$ k% u' ?8 d C) F8 z2 i1 e
}, B9 _4 C( m' P, u
---------------------
% o; C1 T& s1 L2 L. V% ]3 g. _作者:nka_kun
2 n( i' ~! t8 P. e/ @( @来源:CSDN ' p9 i( [5 ^9 G2 I; c: q
) B7 [6 T- {) T- J' ?- ]( ?& x8 r8 l2 ~" U3 h* a" W
|
zan
|