【POJ3009 - Curling】 解题报告+思路+代码+教训(看别人的报告过的)

这篇博客介绍了如何使用DFS解决POJ3009 - Curling问题。作者分享了自己的解题过程,从开始到结束共花费了约4个小时。关键点包括采用DFS搜索、处理Block和回溯策略。作者强调理解题目中的限制条件和利用好回溯是解题的关键,并提供了简洁的代码示例。
摘要由CSDN通过智能技术生成
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <iostream>
#define INPUT
/**
Problem : poj3009
看别人的报告过得,代码基本上相同,因为实在不会了
Begin Time: 11th/3/2012 7:28 p.m.
End Time: 11th/3/2012 11:10 p.m.
解题报告:http://blog.csdn.net/harder2005/article/details/2816881
测试数据见Discuss
知识点:
    DFS,回溯,智商!!
教训:
    这道题十分经典,简直是“不动脑子就WA”的一道题的典范
    解题报告中的代码十分简洁精练,十分推荐!!
    1.关于搜索的选择
        虽然是最短,但是题中说了超过10次就失败,所以暗示了使用DFS
        这点跟那个Nightmare的思路是一样的
    2.关于智商
        这道题中有一个Block,解题报告里面把Block看做了是墙,但是如果判断
        没有出maze,那么maze[i][j] == 1.回溯的时候maze[i][j] == 0
    3.关于输入输出
        这道题解题报告十分经典的一个原因,就是mazi[i][j] = 1(能够通过)
        maze[i][j] = 0不能通过,这跟WY学长提到的memset不能设1
        (否则内存变成1111111111111111)思想是一样的
    4.关于搜索
        这道题说冰壶丢出去就要一直碰到Block才停下࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值