模板
2016-01-27 10:40
309 查看
本人做题全靠心情,自我感觉一种题通了且有模板可循就总结至这里,不定期更新,注意点一般都写在注释,参考自认为典型题(不是刁难变相题),望诸神不喜轻喷勿拉黑
1、弗洛伊德算法(参考hdu1874)
#include <stdio.h>
#include <string.h>
#include <cstdio>
#include <algorithm>
using namespace std;
const int INF = 1 << 27;
const int N = 1005;
int path
;//路径矩阵
int m, n; //边数和顶点数
int Min(int a, int b)
{
return a > b ? b : a;//求最小值,自我感觉写出来方便操作
}
void floyd()
{
int i, j ,k;
for(k = 0; k < n; k ++)
for(i = 0; i < n; i ++)
for(j = 0; j < n; j ++)
path[i][j] = Min(path[i][k] + path[k][j], path[i][j]);//具体k的情况可有可无可自定义
}
int main()
{
int i, j, A, B, C, st, ed;
while(~scanf("%d%d", &n, &m))
{
for(i = 0; i < n; i ++)//初始化,数组下标按照题中范围给出,注意细节
for(j = 0; j < n; j ++)
{
if(i == j) path[i][j] = 0;
else path[i][j] = path[j][i] = INF;//本题为双向道路,故input赋值操作相当于赋两个值,不同题按照不同赋值方法
}
for(i = 0; i < m; i ++)
{
scanf("%d%d%d", &A, &B, &C);
if(path[A][B] > C) path[A][B] = path[B][A] = C;//同上
}
floyd();//一般无返回值所以直接void类型出现
scanf("%d%d", &st, &ed);
if(path[st][ed] == INF) path[st][ed] = -1;
printf("%d\n", path[st][ed]);
}
return 0;
}
1、弗洛伊德算法(参考hdu1874)
#include <stdio.h>
#include <string.h>
#include <cstdio>
#include <algorithm>
using namespace std;
const int INF = 1 << 27;
const int N = 1005;
int path
;//路径矩阵
int m, n; //边数和顶点数
int Min(int a, int b)
{
return a > b ? b : a;//求最小值,自我感觉写出来方便操作
}
void floyd()
{
int i, j ,k;
for(k = 0; k < n; k ++)
for(i = 0; i < n; i ++)
for(j = 0; j < n; j ++)
path[i][j] = Min(path[i][k] + path[k][j], path[i][j]);//具体k的情况可有可无可自定义
}
int main()
{
int i, j, A, B, C, st, ed;
while(~scanf("%d%d", &n, &m))
{
for(i = 0; i < n; i ++)//初始化,数组下标按照题中范围给出,注意细节
for(j = 0; j < n; j ++)
{
if(i == j) path[i][j] = 0;
else path[i][j] = path[j][i] = INF;//本题为双向道路,故input赋值操作相当于赋两个值,不同题按照不同赋值方法
}
for(i = 0; i < m; i ++)
{
scanf("%d%d%d", &A, &B, &C);
if(path[A][B] > C) path[A][B] = path[B][A] = C;//同上
}
floyd();//一般无返回值所以直接void类型出现
scanf("%d%d", &st, &ed);
if(path[st][ed] == INF) path[st][ed] = -1;
printf("%d\n", path[st][ed]);
}
return 0;
}
相关文章推荐
- 中国新战机抄袭F-35?美空军靠仿制掠夺起家
- CentOS 编译安装 nginx php mysql
- Mysql host '192.168.1.1' is not allowed to connect to this mysql server
- Nginx服务器基础的安全配置与一些安全使用提示
- Maven
- FloatingActionMenu 向上弹出菜单
- 浏览器、apache的连接超时详解
- Linux性能测试工具
- 记录-Hibernate+servlet实现简单的增、删、查、改
- MacOS xampp配置环境执行composer命令出现 error:14090086 的解决方案
- 触屏touch事件记录
- java.lang.UnsatisfiedLinkError: D:\Tomcat-7.0.59\apache-tomcat-7.0.59\bin\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
- spring + atomikos解决多数据源事务管理
- POJ 3254 Corn Fields 状态压缩dp 查找情况数
- 欢迎使用CSDN-markdown编辑器
- 择日不如撞日,选择写博客记录自己的成长
- JS中校验数组中是否有重复字符
- CSS实现垂直居中的5种方法
- 统计学中抽样调查和一些常用的方法
- Eclipse插件开发2-第一个插件