cwang_running level
获赞
39
粉丝
3
关注
3
看过 TA
20
门头沟学院
2020
C++
IP属地:北京
暂未填写个人简介
私信
关注
2019-09-17 19:42
已编辑
门头沟学院 C++
0 点赞 评论 收藏
分享
2019-09-09 07:20
已编辑
门头沟学院 C++
0 点赞 评论 收藏
分享
2019-09-01 16:28
已编辑
门头沟学院 C++
0 点赞 评论 收藏
分享
2019-08-05 11:46
已编辑
门头沟学院 C++
第一题: 输入:多组测试数据。每组测试数据如下 第一行输入三个整数:N、A、X,分别代表需要解决的bug数量、喝咖啡之后效率提升的倍数、一天最多可以喝掉的咖啡数 第二行输入N个整数,表示在不喝咖啡的情况下解决这些八阿哥所需的时间t1, t2, ..., tN 输出:如果能在八小时内解决这些bug(如果时间为小数,向上取整),输出解决bug的时间,否则输出0 case:input: 8 2 8 60 60 60 60 60 60 60 60 4 3 3 333 77 100 13 output: ...
herongwei:第三题,简单的最短路,看下数据不大,用的简单的 Floyd算法 就可以过(AC) PS:之前发的贴不知道为什么删除了,本着赛后互相分享,互相讨论的初衷,没啥违规的吧== 参考代码: #include <string.h> #include <stdio.h> #include <iostream> #include <algorithm> using namespace std; const int maxn = 1005; const int INF = 99999999; int map[maxn][maxn], dist[maxn]; bool visit[maxn]; int N,P,C; void init()     //初始化 {     int i, j;     for(i = 0; i < maxn; i++)     {         for(j = 0; j < maxn; j++)         {             if(i == j)                 map[i][j] = 0;             else                 map[i][j] = map[j][i] = INF;         }     } } void input()    //输入函数 {     int vi, vj, cost;     while(P--)     {         scanf("%d %d %d", &vi, &vj, &cost);         if(cost < map[vi][vj])             map[vi][vj] = map[vj][vi] = cost;     } } void floyd()    //Floyd算法 {     int i, j, k;     for(k = 0; k <=N; k++)     //k为中间点         for(i = 0; i <= N; i++)             for(j = 0; j <= N; j++)                 if(map[i][k] + map[k][j] <  map[i][j])                     map[i][j] = map[i][k] + map[k][j]; } int main() {   // freopen("in.txt","r",stdin);     while(cin>>N>>P>>C)     {         init();         input();         floyd();         int sum = 0;         for(int i=0; i<C; ++i)         {             int v;cin>>v;             sum+=map[0][v];         }         printf("%d\n", sum);     }     return 0; }
投递大疆等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务