问不是让你一写错就丢上来让大家帮你调
by Lstdo @ 2019-08-05 16:42:07
@[Lstdo](/space/show?uid=53930) 那我该注什么呢?第一次发讨论的帖子,以及刚学深搜
DFS那个函数有问题但是和我能看懂的题解对了很多遍不能理解
我的判断语句在外面而可以过的那个在里面,不明白有什么区别。
最后一个点
输入 /*999
1001
11
1000
4000
1001
2002
3003
4004
5005
6006
3001
4999
5999 */
输出/ 1 /
我的程序搜索的时候回溯好像出了问题答案输出为0 它大概是在排序后走到1000之后错误,然后无法到1001以至于最后一个点WA
我问了我身边的人不过并没有得到解答才打算投上来的,如果哪里有问题,非常抱歉
by 王诗琪 @ 2019-08-05 17:37:53
@[王诗琪](/space/show?uid=35646)
调代码是自己的事情,也是能力的培养,以后的代码几百行就没人可以帮你了。
建议先自己尝试解决,调了几天都没有结果再发上来,并详细说明自己的思路、进展、可能的错误(这点您做得很好)
粗略地看了一下,可能是边界问题。如果没有问题,忽略这句话。
by Lstdo @ 2019-08-05 17:48:54
```cpp
#include<bits/stdc++.h>
using namespace std;
int a,b,n,ans,x[40]={0,990,1010,1970,2030,2940,3060,3930,4060,4970,5030,5990,6010,7000},v[40];
void dfs(int k){
for(int i=1;i<=n+13;++i){
if(x[i]>=x[k]+a&&x[i]<=x[k]+b&&v[i]==0){
if(x[i]==7000){
ans++;
return;
}
v[i]=1;
dfs(i);
v[i]=0;
}
else if(x[k]+a>=7000){
ans++;
return;
}
}
return;
}
int main(){
cin>>a>>b>>n;
for(int i=13;i<=n+12;++i)cin>>x[i];
dfs(0);
cout<<ans;
return 0;
}
```
by _really_myself_ @ 2022-07-24 17:04:41
最后一个案例需要将所有的旅馆位置从小到大排序
by jjj0523 @ 2023-02-27 21:15:20