求助,报错看不懂,求改

P5908 猫猫和企鹅

你这代码里一堆漏洞啊,find好像是个函数,换个别的吧,你有的没加分号,有的打错了 ``` #include<bits/stdc++.h> using namespace std; int n,d,ro[114514],ad[1919810],num; int ff[114514]; void cat(int step,int place){ if(ff[place]==0&&step<=d){ num++; ff[place]=1; return; } for(int i=1;i<n;i++){ if(place==ro[i]&&ff[ad[i]]==0){ cat(step+1,ad[i]); } if(place==ad[i]&&ff[ad[i]]==0){ cat(step+1,ro[i]); } } } int main() { cin>>n>>d; for(int i=1;i<n;i++)cin>>ro[i]>>ad[i]; cat(0,0); } ``` 改完应该是这样,我也不知道代码对不对 你输入road[i]啥意思啊都没定义,调用函数中间用的是逗号诶
by zhangduohan @ 2023-07-19 15:52:06


你貌似并没有输出
by zhangduohan @ 2023-07-19 15:55:44


@[zhangduohan](/user/752807) 这全wa是怎么回事啊(**首**)
by ESxyz @ 2023-07-19 16:00:30


@[zhangduohan](/user/752807) 这是改了的代码```cpp #include<bits/stdc++.h> using namespace std; int n,d,ro[114514],ad[1919810],num; int fond[114514]; void cat(int step,int place){ if(fond[place]==0&&step<=d&&place!=1){ num++; fond[place]=1; return; } for(int i=1;i<n;i++){ if(place==ro[i]&&fond[ad[i]]==0){ fond[place]=1; cat(step+1,ad[i]); } if(place==ad[i]&&fond[ad[i]]==0){ cat(step+1,ro[i]); } } } int main() { cin>>n>>d; for(int i=1;i<n;i++)cin>>ro[i]>>ad[i]; cat(0,1); cout<<num; } ```
by ESxyz @ 2023-07-19 16:03:40


我哪知道,我只是让你没有编译错误,这题我都没做,我都没看代码
by zhangduohan @ 2023-07-19 16:58:51


|