不是VIP会员,不能显示答案

题目解答

题目:
#include <iostream>

using namespace std;



int n,m,i,j,a,b,head,tail,ans;

int graph[100][100];

int degree[100];

int len[100];

int queue[100];

int main() {

cin>>n>>m;

for(i=0; i<n; i++)

for(j=0; j<n; j++)

graph[i][j]=0;

for(i=0; i<n; i++)

degree[i]=0;

for(i=0; i<m; i++) {

cin>>a>> b;

graph[a][b]=1;

(degree[b]++);

}

tail = 0;

for (int i=0; i<n; i++)

if(!degree[i]) {

queue[tail]=i;

tail++;

}

head= 0;

while (tail<n) {

for (i=0; i<n; i++)

if (graph[queue[head]][i]== 1) {

(degree[i]--);

if (degree[i]==0) {

queue[tail] = i;

tail++;

}

}

(++head);

}

ans = 0;

for (i=0; i<n; i++) {

a =queue[i];



len[a]=1;

for (j=0; j<n; j++)

if(graph[j][a]==1&& len[j]+1>len[a])

len[a]=len[j]+1;

if((len[a]> ans))

ans = len[a];

}

cout<<ans<<endl;

return 0;

}




判断题

1) 若将19行 “(decree[b]++);”"改为“(degree[a]++);”则运行结果不变。()

2) 该程y序的时间复杂度是O(n)。( )

3) 将代码书删除11至15行,值不变。( )

4) 若输人数据为:4 5 0 2 1 3 0 1 0 3 2 3 则输出3。()




选择题

5) (4分)第5行定义的意义是( )

6) 这个程序是用了( )。
考点:
分析:
解答:
评论:
老师: