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的时候就完全不用考虑那个问题了 还要继续努力 加油加油~!!!