topcoder_SRM611_250

69 篇文章 0 订阅
5 篇文章 0 订阅

topcoder_SRM611_250


简单模拟题

大概意思是指有一个数满足的条件有

1.0~9中的数x如果出现一定是出现两次

2.在相同数x中所夹的数的数目和该数相同(eg:2002 ,2和2中间有两个数 0和0中间有0个数)

如果满足以上两种条件就返回“Interesting”

否则就返回"Not interesting"


思路

1.对该数扫描一遍 用一个表来存储0~9十个数出现的次数 然后如果有出现大于两次或者只出现一次的情况 那么就返回"Not interesting"


2.接下来剩下就只要判断两个数中间夹得的数的数目是否为该数

我的想法是:判断当前位置的数字是否和其对应的位置的数字相同 如果不同就返回"Not interesting" 全部判断一遍就没问题就是满足条件的 返回“Interesting”


在这个过程中我加了hash来判断当前位置是否已经被扫描过 


ac代码:

http://paste.ubuntu.com/7036416/


这次写渣了 好久没用cpp来写东西 都忘了类是怎么调用的了。。。(╯﹏╰)

然后测试了好久没弄出来 今天下了课回来才重新看了下 发现里面有些地方实现错误了  里面感觉貌似有地方冗杂了 之前是判断是否偏移会超过数的界限  但是后来加上hash的时候就完全不用考虑那个问题了 还要继续努力 加油加油~!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值