- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565626 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174911
- 相册
- 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组决赛题解第五题
7 W! x X( x* K7 \) d在一个5*5的方格上走边界点,其实也就是6*6的图,从左上角开始走,不走重复点且在12步之内走回左上角点,问方案数
8 _. J1 y- F! V0 u% `- m7 ^直接dfs,需要减掉 (0,0)->(1,0)->(0,0)和(0,0)->(0,1)->(0,0),这两个路线都重合了
9 O& m( D+ ?& t2 G结果: 208-2=206
; u/ Y- G: C! x0 m代码:
$ x8 ^# X a, c; R: D( F8 x#include<bits/stdc++.h># L; c D0 M; q- W# U0 B
#define mem(a,b) memset(a,b,sizeof(a))& z5 U4 p. g) G- O; [9 `. L p" m8 k
using namespace std;2 N) S" J$ l+ Z& O. t' u! j
typedef long long ll;- T/ c$ [) Q* t' h. J
const int inf = 0x3f3f3f3f;
% H1 B+ `# ~+ E Y7 Qconst int maxn = 3e5+55555;
7 l' V+ w+ l2 w y6 K @const ll mod = 998244353;2 { Q' e- P \$ ]! c
const double eps = 1e-7;
* r: W" g2 L# F7 N5 y0 P) D2 C4 m1 |$ E
bool vis[10][10];
( j' [6 a1 f! ?# Y; j7 Gint ne[4][2] = {1,0,-1,0,0,1,0,-1};6 q$ J/ D$ Y, o/ h6 U, {/ L
int ans;& P! `8 P, X7 X U' S; s
; K3 c- k1 d# A5 `' z
void output() {
J+ B1 ` l- U/ k for(int i = 1;i<= 6;i++) {
8 W2 k4 M! G/ G+ p* X! h for(int j = 1;j<= 6;j++) {
9 K+ q6 r, l, I$ ] cout<<vis[j]<<' ';
4 I& |/ a, N1 f1 A }8 [+ z# E [! `9 l q2 b- R# D8 w
cout<<endl;. q+ M/ {1 m# n. w2 o
}
7 O2 S4 O1 {4 U# v8 D" o) { B cout<<endl<<endl;
" z I. W9 l! w}7 A8 s8 w6 W @! \9 k) F5 l
* Q; u& ~8 Q2 T- i; x, L$ X7 w7 W. `
void dfs(int x,int y,int step) {. @$ x% {& {3 c2 B5 D2 @
if(step> 6) {8 u0 \- A3 `8 L9 O T) N
return ;
6 w, t5 x! n; l3 z- ^; J }
) t8 F2 u, K! ^+ b if(x == 1&&y == 1&&vis[1][1] == true) { ?6 \# N9 D' g2 r( v% ~
ans++;: B, `; M$ m" s' Y4 \! v
output();
1 S2 c' U" }% v( Z5 n1 m; T return ; z# J( C d/ S5 S% b) v5 v
}
* p. p5 F" x$ d" n8 W9 W for(int i = 0;i< 4;i++) {
1 P" d6 g( }1 ^- N" E2 p int tx = x+ne[0];
- |6 [! D5 G/ K) J2 w4 X int ty = y+ne[1];7 x+ E* X0 j- d
" h! a7 ^( a2 R/ L. C9 J6 t if(x> 6||y> 6||x< 1||y< 1||vis[tx][ty]) continue;
1 q9 i' |& o1 q2 j4 r vis[tx][ty] = true;& t. T! z3 O6 }) `. n" g! h
dfs(tx,ty,step+1);
* I$ w0 o! ^7 L vis[tx][ty] = false;
! `; f7 [/ J" Z6 ~1 C: d, X }
1 i: h+ A7 B# S7 _ return ;
6 d$ M' B. T0 S R6 P; p/ c}
5 A5 M A3 i# |" O9 [* b# l* t% _( W z, I( d# V) V+ |
int main() {
3 W8 T2 `# J8 q- G, e1 g! F, H dfs(1,1,0);5 v% u( B5 O9 l: I S
cout<<ans<<endl;
- `+ a0 W$ |3 K4 j0 t+ B' Y0 o* O0 C& z! A
return 0;; J/ e2 w; R0 r2 Z. t
}& z' a; e5 e4 W; @9 Y
--------------------- - L' X3 v$ m) L2 w. e
作者:nka_kun + u9 H) n( C% U0 Y r- L
来源:CSDN
, v7 _+ y. D* q% z( ]- H8 ^
8 R# G' h( k* A; G
" f, k; w- W1 U6 P |
zan
|