//P4 打死我也不说
//若藏有“DSWYBS”,则这串字母必是沿行、列或斜45度方向依次排列的。
#include<iostream>
#include<vector>
using namespace std;
int r,l,x[6],y[6],index=0;
string zfca="DSWYBS";
vector<string> v;
int xbx[8]={0,0,-1,-1,1,1,-1,1};
int xby[8]={-1,1,1,-1,-1,1,0,0};
bool flag=false;
void ss(int i,int j,char c)
{
//  cout<<"c="<<c<<endl;
//  cout<<"zfca[index]="<<zfca[index]<<endl;for(int m=0;m<8;m++)//还有把循环展开也是答案错误{int xn,yn;xn=i+xbx[m];yn=j+xby[m];if(v[xn][yn]==zfca[index])// char c即为zfca[index] 为何把zfca[index]替换成 c就答案错误??
//      if(v[xn][yn]==c){
//          if(c==zfca[index])
//          cout<<"c="<<c<<" zfca[index]="<<zfca[index]<<endl;x[index]=xn;y[index]=yn;index++;if(index==6){flag=true;return;}ss(xn,yn,zfca[index]);}}return ;
}
int main()
{cin>>r>>l;string zfc;for(int i=0;i<5;i++)v.push_back("                               ");for(int i=0;i<r;i++){string zfc1="     ";cin>>zfc;zfc1+=zfc;zfc1+="     ";v.push_back(zfc1);}for(int i=0;i<5;i++)v.push_back("                               ");for(int i=5;i<r+5;i++){for(int j=5;j<zfc.length()+5;j++){if(v[i][j]=='D'){x[0]=i;y[0]=j;index=1;ss(i,j,zfca[index]);if(flag){cout<<x[0]-5<<" "<<y[0]-5<<endl;cout<<x[5]-5<<" "<<y[5]-5<<endl;cout<<x[0]+x[5]+y[0]+y[5]-20<<endl;return 0;} }}}cout<<"DSWYBS\n";
}

本人最开始写的时候,并没有考虑题目给定的提示:若藏有“DSWYBS”,则这串字母必是沿行、列或斜45度方向依次排列的。于是就像五子棋一样,以为找到这个字符串就完事了,然后写完提交才发现这样是过不了的。然后就继续硬写,发现只是用单纯的循环好像过于复杂了。于是就看了一下别人的博客。

以下链接就是那位大佬的博客了
https://blog.csdn.net/qq_43331910/article/details/100631060

“深度优先”,这是一个最大的提示了。然后就考虑在找到一个字符的基础上,调用函数寻找下一个字符。就这样写下去,样例显然很好就过了,然后提交试试。

vector当然是可以各种替换的了,只是本人最近练习一下容器,才用的这个。
Now:Here is the question.
1:最初的代码就是在贴的代码那里改了一下,把循环展开成8个if语句。本人一直觉得是等效的,但是就是16分,我也搞不懂为啥。
2:函数里面的char c显然是恒等于 zfca[index]的,但是本人把第21 22行互相替换,发现改了以后提交又是16分。真是玄学了。

PS:链接里面那位同学是真的大佬,思路清晰,代码简洁。
大佬的代码只有60行,我的代码最初就是他的2倍多。
本人就是在数次比对修改后才发觉最后那一点究竟错在哪里,但至今不明白那一点为什么是错的。

顺便吐槽一下,PTA上,经常我用cin输入string就过不了,非得用scanf输入char数组才行

PTA -打死我也不说 (大学Mooc周强数据结构习题集)相关推荐

  1. mooc数据结构与算法python版期末测验_中国大学MOOC(慕课)_数据结构与算法Python版_测试题及答案...

    中国大学MOOC(慕课)_数据结构与算法Python版_测试题及答案 更多相关问题 采用fopen()函数打开文件,支持文件读取的参数有: [简答题]简单阐述高分子材料热-机械特征及成型加工的关系,并 ...

  2. mooc数据结构与算法python版第十周作业_中国大学mooc慕课_数据结构与算法Python版_章节答案...

    新入对于接诊人的院病与查房,中国章节在多必须经治间内进行医师长时. 大学答案高的主要文库日常利用率较有(. 须注下问题:慕课意以,者以知识作为的投资产权出资.在配置上电装,该装装在置(线应部位)的接地 ...

  3. PTA 打死我也不说

    深度优先,因为目标有顺序所以不需要mark数组 #include <stdlib.h> #include <stdio.h> #include <iostream> ...

  4. 中国大学mooc 北京大学张铭-数据结构与算法-内排序部分满分答案

    错误的俩个,第一个是抄错了倒数第二个数字,自己更正就好 第二个是最少7趟,因为优化的冒泡,可以在判断出已经排好序之后就不再冒泡了

  5. 重磅!Science发表西湖大学周强实验室关于“新冠”的最新研究成果

    本文来源:西湖大学WestlakeUniversity    作者/冯  怡 美国东部时间2020年3月4日上午10点左右,Science杂志在线发表了题为Structural basis for t ...

  6. 中国大学MOOC哈工大C语言程序设计第9周编程题在线测试

    中国大学MOOC哈工大C语言程序设计第9周编程题在线测试 1.重复数字检查(4分) 题目内容: 从键盘输入一个数,检查这个数中是否有重复出现的数字.如果这个数中有重复出现的数字,则显示"Re ...

  7. 中国大学 MOOC 课程Python语言程序设计 (第11期)测试答案(1-5周)

    中国大学 MOOC 课程Python语言程序设计 (第11期)测试答案(1-5周)  Lan   2020-05-03 14:21   369 人阅读  0 条评论 感谢中国大学MOOC提供的学习平台 ...

  8. 中国大学MOOC课程《Python语言程序设计》课后练习第一周

    中国大学MOOC课程<Python语言程序设计>课后练习第一周 1.字符串拼接 python从2.6版本后增加了format函数,用来代替%s,%r等格式化字符串: # -*- codin ...

  9. 中国大学MOOC实用Python程序设计学习笔记和课后测试1-3周(北京大学)

    中国大学MOOC实用Python程序设计学习笔记和课后测试1-3周(北京大学) 第1周 Python初探 为project设置解释器 保留字 第1周课后测试题 第2周 基本运算.条件分支和输出格式控制 ...

最新文章

  1. 读博五年,我总结出了7条帮你「少走弯路」的真理
  2. pycharm怎么切换到vim编辑模式
  3. 【Android 组件化】路由组件 ( 生成 Root 类记录模块中的路由表 )
  4. php读取远程二进制文件,php 读取二进制文件
  5. Linux按键输入实验(体验一下输入驱动,实际开发使用input子系统处理)
  6. 多线程的全局变量与局部变量
  7. Oracle基础 游标
  8. 小程序开发及环境搭建及发布
  9. OSEK 操作系统的基本概念
  10. [2022-06-21 完美解决]MacBookPro 2020 M1 开启2k HIDPI
  11. 计算机网络与基础第五章答案,第五章 计算机网络基础
  12. 利用threading多线程爬取王者荣耀的高清壁纸
  13. get_price函数定义python_python get()函数
  14. 关于程序员失眠的解决方案
  15. Python实现自省的方法有哪些?
  16. 前端 115道 面试题总结【持续更新...】
  17. 70 告别了,2013-2021【2021-06-05 1854】
  18. C++ libco 介绍与应用
  19. idea下git 错误 error: unable to read askpass response from 'C:\Users\ASUS\.IntelliJIdea2019.1\system\tm
  20. Oracle数据库CPU占用过高

热门文章

  1. C# -写个可可图片播放器
  2. xk是什么意思_xk车牌号是什么意思 xk车牌号码的含义
  3. 探索Android中的Parcel机制(下)
  4. IT产品经理眼中两种很特别很特别的程序员
  5. ReloadFunction
  6. 腾讯IM即时通讯(2.4.1)
  7. 练习-Java类和对象之类的声明之复数运算
  8. 柳州市一职校计算机系,柳州市一职校首批高职学子开学
  9. jsp70877婚庆策划婚车预订网站 双数据库 mysql版
  10. 全球500强企业名单