事情是这样的
我在做这道题:P3379 【模板】最近公共祖先(LCA)
然后写了个这个代码。(有大量删减)
int f[514514],ans[514514],vis[514514];
void dfs(int x){
vis[x]=1;
for(int i=0;i<k;i++){
int y=a[x][i];
if(vis[y]==0)
dfs(x);
else
fa=y;
}
f[x]=fa;
}
int main(){
cin>>n>>m>>s;
dfs(s);
for(int i=1;i<=m;i++)
cout<<ans;
}
很显然这是一个错误的代码,比如倒数第二行cout一个数组,比如dfs当中向下dfs(x)(鬼知道我当初是怎么想的写出这种憨批代码)
然后我编译,运行,复制样例,竟然过了?!
然后我还没发现,就像个憨批一样交到洛谷上,不出意外地MLE了。
后来我研究了半天,我的编译器自动输出了ans数组的数值,还带了换行?!(这个可以理解,毕竟c++11自带这个功能)
然后还把dfs里面的dfs(x)换成了dfs(y)?!
这编译器还带自动改bug的吗???
????????????????????
真·AC自动机
好吧我承认了我只是闲着没事想过来灌个水(