POJ1208 -- The Blocks Problem

POJ1208 ,来自UVA101题,注意读懂题目意思:

move a onto b:   先将a和b上的积木放回原来的位置,然后再将a放到b上面
move a over b:   先将a上的积木放回到原来的位置,然后将a放到b所在积木堆的顶部(b上的积木不动)
pile a onto b:   先将b上的积木放回原来的位置,再将a和a上的积木放到b上
pile a over b:   将a本身和其上的积木一起搬到到b所在的那堆积木之上

我作为四段读的,str1,num1,str2,num2。但判断的时候,str1只需要判断str[0],str2只需要判断str2[1]就可以区分命令了.

刚开始题目给的两个例样输出。程序对的,提交后RE,用clock测试了下,发现不可能超时。估计遇到了死循环,于是写了个随机生成测试数据的程序,按照逐步缩小范围的方法,最终确定了问题:原来在确定本题一个关键上——命令有可能是无效的(1.num1和num2相等。2.num1,num2在同一堆上)。我的BUG就在判断同一堆上了。少写了个一半,不严密。修改后AC了。

但奇怪的是POJ AC, UVA不能AC? 什么问题?随机生成1000组数据都可以测试出来的。

额,纠结于UVA, 这个系统很苛刻。。

下面是数据生成器:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值