博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT 1076__部分正确
阅读量:6971 次
发布时间:2019-06-27

本文共 1210 字,大约阅读时间需要 4 分钟。

hot3.png

1、

//对bool数组初始化false也用0	memset(v,0,N+1);//不能用sizeof(v),当N+1=8时,sizeof(v)=4

两个case没过:

 

#include 
#include 
#include 
using namespace std;int m[1001][1001];int N,L;bool * v;int dfs(int s){ queue
 q; q.push(s); int depth = 0; int count = 0; while(!q.empty()){ int cur = q.front(); q.pop(); v[cur] = true; int i; bool flag=true; for(i=1; i<=N; i++){ if(!v[i] && m[i][cur] == 1){ q.push(i); //printf("%d - ",i); count++; //v[i] = true; if(flag){ depth++; flag = false;} } } if(depth == L) break; } return count;}int main(){ //freopen("in.txt","r",stdin); scanf("%d %d",&N,&L); v = new bool[N+1]; //对bool数组初始化false也用0 memset(v,0,N+1);//不能用sizeof(v),当N+1=8时,sizeof(v)=4 memset(m,0,sizeof(m)); int i,j; //for(i=1;i<=N;i++){ // if(v[i]) {printf("%d\n",i);} // else{printf("0\n");} //} for(i=1; i<=N; i++){ //i为当前节点 int k; scanf("%d",&k); while(0 < k--){ int temp; scanf("%d",&temp); m[i][temp] = 1;//i被temp转发 } } int scount,s; scanf("%d",&scount); while(0 < scount--){ memset(v,0,N+1); scanf("%d",&s); int count = dfs(s); printf("%d\n",count); } return 0;}

转载于:https://my.oschina.net/kaneiqi/blog/226654

你可能感兴趣的文章
Python中eval函数的作用
查看>>
把Catalina的字符串格式转化为日期格式
查看>>
Linux 笔记
查看>>
easy_install 和 pip
查看>>
ssm中返回中文字符串时出现乱码?
查看>>
复习i++和++j
查看>>
【spring cloud】一个ms微服务想要给注册中心eureka发现,需要满足这些条件,微服务不能被eureka注册中心发现的解决方案...
查看>>
mac地址绑定
查看>>
[越狱工具]&nbsp;一键Root&nbsp;SuperOneClic…
查看>>
LINUX ubuntu JAVA 切换JDK版本
查看>>
杭电 1596 find the safest road
查看>>
Win32 API实现CDC类的FillSolidRect接口
查看>>
git学习总结
查看>>
Flex读取xml文件
查看>>
iPhone4最新降级教程(iOS5.1.1)
查看>>
sql language 根据语言来返回不同的结果
查看>>
构造方法
查看>>
堆排序的实现
查看>>
Linux inode空间占满 “no space left on device”
查看>>
【 Java 】 简易交通灯
查看>>