菜鸡的深搜,希望能帮到同为菜鸡的你

P1164 小A点菜

是的,我也是菜鸡
by 2017gdgzoi999 @ 2019-01-23 13:42:45


希望更丰富的展现?使用Markdown 发表回复
by Yoo_ @ 2019-01-23 13:53:18


希望更丰富的展现?使用Markdown
by Yoo_ @ 2019-01-23 13:53:26


你这应该是0分吧
by Yoo_ @ 2019-01-23 13:53:57


juruo的广搜,希望能帮到dalao的你 ```cpp struct node { int x,y,k; }now; bool used[105][105]; queue<node> que; void bfs(int x,int y) { memset(used,0,sizeof(used)); que=queue<node>();//清空 que.push((node){x,y,0}); used[x][y]=1; while(que.size()) { now=que.front(); que.pop(); for(int i=1;i<=儿子数;i++) { int nx=儿子的x,ny=儿子的y; if(满足目标) { 处理结果; return; } if(nx和ny不超出边界 && !used[nx][ny]) { used[nx][ny]=1; que.push((node){nx,ny,now.k+1}); } } } 处理无结果情况; } ```
by 蒟蒻lxy @ 2019-01-23 18:02:32


真的可以过吗
by 万弘 @ 2019-01-23 20:09:49


难道真的暴力碾标算了??
by 万弘 @ 2019-01-23 20:10:27


希望更丰富的展现?使用Markdown
by 其实我是蒟蒻 @ 2019-03-31 20:54:23


```cpp #include"stdio.h" void dfs(int x,int s); int a[101],k = 0,n,m; int main() { int i; scanf("%d%d",&n,&m); for(i = 0;i < n;i++) scanf("%d",&a[i]); dfs(0,0); printf("%d",k); return 0; } void dfs(int x,int s){ if(s == m){k++;return;} if(x == n){return;} if(s+a[x]<=m) dfs(x+1,s+a[x]); dfs(x+1,s); } ``` 我贴心的加上了Markdown@[17and17](/space/show?uid=175183)
by 其实我是蒟蒻 @ 2019-03-31 20:56:06


|