【编程题目 | 100分】 深度学习网络模型的最小时间 [ 2021 秋招考试题 ]
时间限制:C/C++ 1000ms | 其他语言:2000ms
空间限制:C/C++ 262144K | 其他语言:524288K
64bit IO Format:%lld
本题可使用本地IDE编码,不能使用本地已有代码。无跳出限制,
编码后请点击”保存并提交“按钮进行代码提交。
1、一般深度学习网络模型由若干算子组成,为简单起见,假设一个深度学习网络模型是一个有向无环图。
若算子A依赖算子B的输出,则仅当算子B执行完成之后才能执行算子A,没有依赖关系的算子可并行执行。
已知每个算子的执行时间,请计算运行整个网络所需要的最小时间。
请注意:
1)不考虑数据在算子之间的传输时间;
2)第一个算子为输入算子且仅有一个输入算子;
3)算子索引从0开始;
输入描述:
- 总共输入N+1行,其中N为算子总个数。
- 第一行输入整数N(N<=100)。
- 第j(2<=j<=N+1)行输入代表索引为j -2 算子的属性,内容包括:“OpName OpCost NextOp1 NextOp2 … NextOpk”,其中OpName为字符串(不包含空格),
- 代表算子名;OpCost为正整数,代表该算子运算时间;
- NextOp1~NextOpk代表该行算子该所指向的下一层算子的索引(算子索引为0~N-1)。
输出描述:
- 输出为网络模型的最小执行时间
示例
输入
4
softmax 10 1 2
relu 5
conv1 1 3
softmax 2
输出
15
代码实现
C++
#include <bits/stdc++.h> using namespace std; vector<vector<int>> matrix; vector<int> cost; vector<int> cnt; vector<bool> visit; int sum;
剩余50%内容,订阅会员后查看
隐藏内容
此处内容需要权限查看
会员免费查看声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。