NOIP2012普及组初赛 阅读程序 第4题《字符串》¶
Keywords: 字符串,字典序
好,拿到这道题,我感觉还是有些难度的,一下子没看出来结果,所以,看明白main函数和get()的作用。
main(),读入字符串,双指针算法,循环遍历,用ans来记录一个值。最后,从头到尾遍历一遍
get(),返回字符串里的字符,当i小于n,输出i的位置,否则取模
基本函数的含义理解里,那么,我们开始用<画表大法>
我们得到ans = 7,
然后
也就是从s[7]开始输出字符,结果是ACBBADAD
回过头来,再分析一下刚才的if条件语句
i 和 ans的值固定,j每一次都从0开始遍历 换句话说,就是一个从i位置往后遍历,一个从ans位置往后遍历。然后,发现从i开始遍历的字符较小,就更新ans = i(打擂台)。
那么,
就是以每一个字符为起点的新的字符串,谁的字典序相对较小,就把这个字符串输出出来。