题意:按顺序给出一些木棍,输出在最上面的木棍标号
方法:用一个链表保存最上面的木棍,每读取一根木棍就将之与链表中的木棍求交,若相交则将链表中相交的剔除,最后将新的木棍加入链表。(此题不必考虑不规范相交的情况,测试数据貌似没有)
WA点:开始自己写的简单的链表,老是RE,(看来基本功很差,原因在于p指向一个node,我先把p删除了才p=p->next。大概用了700-800毫秒。改用C++的标准库vector竟然只用了600+而且省代码,但是用list就1200+了
值得一提的是algorithm库中的remove_if函数不错,但是该函数并不是真正的remove,还要用erase函数。故称做erase-remove idiom
未用stl的代码
使用vector的代码