pku 1016(字符串)

题意比较繁琐:就是统计0-9的个数,然后将它们按顺序组成一个新的字符串。比如5553141,有3个5,1一个3,2个1,1个4.按顺序排列后就是 21131435。  一次统计称为一次迭代。最多迭代15次。最后会的出4种结果。

   1.第一次迭代得到的结果和源字符串相等,这时输出n is self-inventorying 。

   2.从某次迭代开始得到结果不再变化这时输出n is self-inventorying after j steps 。 j为到达不变化的字符串时迭代的次数。

   3.以上两种情况之外若得到的字符串与前面某个字符串相同,则进入循环,输出n enters an inventory loop of length k 。k是这两个相同的串之间的距离。

   4.若以上3种情况均不满足, 输出n can not be classified after 15 iterations。

 

  将每次输入的字符串迭代15次,存入字符串数组str[],然后比较。

   1. 若str[0]==str[1]  则满足上述第一种情况。

   2. 1-15循环,若从某个位置开始,一个串与它前面一个串相等,则满足上述第2种情况。

   3. 从0-14开始对每个i调用find_loop函数,  函数中从i+1开始对j进行自增, 若str[j]==str[i],则满足上述第3种情况。k=j-i.

   4. 以上三种均不满足,均按第4种处理。

 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值