杭电1874(畅通工程续)

最短路径求解

View Code
 1 //杭电1874(最短路径)
 2 #include<stdio.h>
 3 #define Max 10000
 4 int n,m,start,end;
 5 int a[210],b[210],map[210][210];
 6 void bfs()
 7 {
 8     int i,j,k,min;
 9     for(i=0;i<n;i++)
10         a[i]=map[start][i];
11     a[start]=0;
12     b[start]=1;
13     for(i=0;i<n;i++)
14     {
15         min=Max;
16         min=Max;
17         for(j=0;j<n;j++)
18         {
19             if(!b[j]&&min>a[j])
20             {
21                 min=a[j];
22                 k=j;
23             }
24         }
25         b[k]=1;
26         if(min==Max)
27             break;
28         for(j=0;j<n;j++)
29         {
30             if(!b[j]&&min+map[k][j]<a[j])
31                 a[j]=map[k][j]+min;
32         }
33     }
34     if(a[end]==Max)
35        printf("-1\n");
36     else
37         printf("%d\n",a[end]);
38 }
39 int main()
40 {
41     int i,j,x,y,z;
42     while(scanf("%d%d",&n,&m)!=-1)
43     {
44         for(i=0;i<n;i++)
45         {
46             a[i]=Max;
47             b[i]=0;
48             for(j=0;j<n;j++)
49                 map[i][j]=Max;
50         }
51         for(i=0;i<m;i++)
52         {
53             scanf("%d%d%d",&x,&y,&z);
54             if(map[x][y]>z)
55                 map[x][y]=map[y][x]=z;
56         }
57         scanf("%d%d",&start,&end);
58         bfs();
59     }
60     return 0;
61 }

 

转载于:https://www.cnblogs.com/zlyblog/archive/2012/07/25/2608599.html

### 关于杭电(HDU)工程项目和技术合作中的期机制 在讨论杭电(HDU)相关的工程项目或技术合作时,可以借鉴一些常见的期机制设计原则。例如,在分布式系统中,如果某个 `key` 过期但其关联的业务尚未完成,则可能出现并发问题[^1]。为了避免这种情况,通常会引入一种动态约策略,确保资源的有效性和一致性。 对于前后端分离项目的 token 自动期方案,可以通过设置刷新令牌(refresh token)的方式实现无缝衔接用户体验[^2]。具体来说,当用户的访问令牌即将到期时,前端可以在一定时间内通过刷新令牌向服务器请求新的访问令牌,从而延长用户会话的有效期限。 而在 Web 服务领域,Nginx 的 SSL 证书自动期功能也提供了一个很好的范例[^3]。它展示了如何利用自动化工具减少人工干预并提高系统的可靠性。类似的逻辑也可以应用于其他类型的工程协作平台或者高校科研项目管理软件之中。 针对 HDU 可能涉及的技术合作方向如下: #### 动态约的设计模式 为了防止因 key 超时而导致的数据不一致现象发生,建议采用以下几种方法之一: - **滑动窗口模型**:每当客户端发起一次有效操作后重新计算剩余有效期; - **固定间隔更新法**:定期发送心跳包至服务器以维持连接状态; 这些方式能够帮助维护长时间运行的任务免受短暂网络波动影响的同时保障安全性。 ```python import time def renew_key(current_time, expiration_threshold=60*5): """模拟简单版密钥约过程""" last_active = current_time while True: now = int(time.time()) if (now - last_active) >= expiration_threshold: print("Key has expired! Renewing...") # Simulate renewal process here... last_active = now do_something() # Placeholder function representing actual workload. ``` 以上代码片段展示了一种基于时间戳判断是否需要触发约流程的基础框架。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值