pku 1016(字符串)

来源:互联网 发布:淘宝分销如何刷单 编辑:程序博客网 时间:2024/05/16 04:31

题意比较繁琐:就是统计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种处理。