Toggle navigation
C语言网
教程
博客
团队
训练
训练
题库
题集
状态
排名
比赛
比赛
标准
自主
考试
网课
AI助手
AI助手
代码解释
语言转换
编程助手
dzm
私信TA
用户名:17160200112
访问量:30627
签 名:
等 级
P5
排 名
68
经 验
9903
参赛次数
0
文章发表
172
年 龄
0
在职情况
学生
学 校
大连东软信息学院
专 业
电子信息工程
自我简介:
TA的其他文章
蓝桥杯2018年第九届真题-次数差-题解(C++代码)
浏览:
197
蓝桥杯2018年第九届真题-等腰三角形-题解(C++代码)
浏览:
781
蓝桥杯2018年第九届真题-缩位求和-题解(C++代码)
浏览:
372
你可能喜欢
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)
浏览:
879
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)
浏览:
709
【亲和数】 (C语言代码)
浏览:
2724
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)
浏览:
718
C语言程序设计教程(第三版)课后习题6.8 (C++代码)
浏览:
680
蓝桥杯2017年第八届真题-青蛙跳杯子-题解(C语言代码)
作者:
dzm
发表时间:2020-07-09 14:31:53
浏览:274 | 评论:0
原题链接:
蓝桥杯2017年第八届真题-青蛙跳杯子
一开没有用map 去标记去重,导致评测内存爆了。 ``` #include
#include
#include
#include
#include
using namespace std; string s; string e; int l,res,start_x; int dir[6]={1,2,3,-1,-2,-3}; map
m; struct node{ int x,step; string str; }; int judge(int x) { if(x<0||x>=l) return 0; else return 1; } void bfs() { queue
q; node b; b.x=start_x,b.step=0,b.str=s; q.push(b); m[s]=1; while(!q.empty()) { node next=q.front(); q.pop(); for(int i=0;i<6;i++) { int x=next.x; int ste=next.step; string ss=next.str; int nx=x+dir[i]; node new_node; if(judge(nx)) { swap(ss[x],ss[nx]); if(m[ss]==0) { m[ss]=1; new_node.x=nx,new_node.step=ste+1,new_node.str=ss; if(ss==e) { res=ste+1; return; } q.push(new_node); } } } } } int main() { cin>>s>>e; l=s.size(); for(int i=0;i
0.0分
0 人评分
分享
收藏
C语言网推出会员服务,提供C/C++/算法/Python等多套视频学练课程+源码资源社群答疑+私活推荐等资源,享受丰富的技术学习到变现的乐趣,
以含金量和学习效果勇敢挑战同类辅导
! 点击了解开通
评论区
«
»
提交
精彩推荐
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)
浏览:
625
C语言训练-自守数问题 (C语言代码) long long
浏览:
1061
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)
浏览:
590
C语言程序设计教程(第三版)课后习题1.5 (C++代码)
浏览:
1078
兰顿蚂蚁 (C++代码)
浏览:
1043
WU-整数平均值 (C++代码)
浏览:
1236
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)
浏览:
504
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)
浏览:
560
A+B for Input-Output Practice (IV) (C语言代码)
浏览:
484
1128题解(返回值为数组的情况)
浏览:
450
有问题
,
问问AI
代码解释
语言转换
编程助手