AC

惭愧的参考了好多别人的，自己的初步想法对了，但是写起来就是不简洁也不太正确。
init