ACM板子题(暂未分类)

最短路

给定 n 个点 m 条边的有向图,每条边有个边权,代表经过这条边需要花费的时间,我们只能从编号小的点走到编号大的点,问从 1 号点走到 n 号点最少需要花费多少时间?

复制代码
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int N=1e3+10;
 4 
 5 int a[N][N],f[N],n,m;
 6 
 7 int main()
 8 {
 9 
10     cin>>n>>m;
11     memset(a,127,sizeof(a));
12     for(int i=1;i<=m;i++)
13     {
14         int x,y,z;
15         cin>>x>>y>>z;
16         a[x][y]=min(a[x][y],z);
17     }
18     memset(f,127,sizeof(f));
19     f[1]=0;
20     for(int i=2;i<=n;i++)
21     {
22         for(int j=1;j<i;j++)
23         {
24             if(f[j]<1<<30&&a[j][i]<1<<30)
25                 f[i]=min(f[i],f[j]+a[j][i]);
26         }
27     }
28     printf("%d\n",f[n]);
29 }
View Code
复制代码

 

STL

map

比赛首页 >  C   次佛锅 > 51449640

你好阿,穿越题目前来的选手

众所周知backordinary不会次佛锅,所以邀请您来喂他。
佛锅是一串包含大小写英文字母、数字、空格的字符串。每个食材用单词加数字的方式表示,代表这个食材有多少个,例如yaxin 1代表有1个yaxin。每个食材间用空格隔开,相同食材可能多次出现。
backordinary每次会告诉你他想吃啥,需要你去锅里给他夹出来,他想知道每次他能吃到多少。

复制代码
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int t,n;
 4 map<string,int>m;
 5 int main(){
 6     string s;
 7     char c;
 8     while(cin>>s>>n){
 9         m[s]+=n;
10         c=getchar();
11         if(c=='\n') break;
12     }
13     cin>>t;
14     while(t--){
15         cin>>s;
16         cout<<m[s]<<endl;
17     }
18 }
View Code
复制代码

 

posted @   may0113  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示