【xdoj新手教学】WEEKLY MISSION 3
题目链接 这周基本都是搜索题,做的快吐血了,虽然不是非常难,但是精细的问题还是挺多的,还有一些之前很少遇到的tle和mle,听说还有很多人格式错误,算是“五毒俱全”了,所以每道题还是有不少探讨的地方的。 A 之前想要搞一些花头,结果每次都wa了,所以最后直接暴力写了一个,倒是通过了,不过有点慢就是了。 # include <cstdio> int main() { char s[ 1010 ]; while (~ scanf ( "%s" , s)) { int i, k; bool f = 1 ; while (f) { f = 0 ; k = 0 ; for (i = 0 ; s[i] ; i++) { if (s[i] == 'y' && s[i + 1 ] == 'y' && !f) { s[k++] = 'Y' ; i++; f = 1 ; } else if (s[i] == 'Y' && s[i + 1 ] == 'Y' && !f) { i++; f = 1 ; } else s[k++] = s[i]; } s[k] = 0 ; } puts (s); } return 0 ; } B 这道题和约瑟夫环那道题挺像的,可以用类似xdoj1018里我的方法做,因为这个每次消减的更多,高达一半或者三分之二,所以复杂度仅有logn。说说具体的做法