<thead id="dlkbl"></thead>
    <sub id="dlkbl"><del id="dlkbl"></del></sub>

  • <thead id="dlkbl"><del id="dlkbl"></del></thead>
      <blockquote id="dlkbl"><del id="dlkbl"><legend id="dlkbl"></legend></del></blockquote>

      网络流24题---- 汽车加油行驶问题

      分享图片

       

       

      #include<iostream>
      #include<cstring>
      #include<cstdio>
      #include<algorithm>
      #include<queue>
      #include<vector>
      #define maxn 300100
      using namespace std;
      const int N = 110;
      const int base = 20010;
      int n, k, a, b, c;
      
      struct Node {
      	int p;
      	int len;
      	Node(int a, int b) :p(a), len(b) {}
      };
      vector<Node>G[maxn];
      void insert(int be, int en, int len) {
      	G[be].push_back(Node(en, len));
      }
      
      int vis[maxn];
      int dis[maxn];
      int spfa(int be) {
      	queue<int>que;
      	for (int i = 0; i < maxn; i++) {
      		vis[i] = 0;
      		dis[i] = 2000000000;
      	}
      	que.push(be);
      	dis[be] = 0;
      	while (!que.empty()) {
      		int x = que.front();
      		que.pop();
      		vis[x] = 0;
      		for (int i = 0; i < G[x].size(); i++) {
      			int p = G[x][i].p;
      			if (dis[p] > dis[x] + G[x][i].len) {
      				dis[p] = dis[x] + G[x][i].len;
      				if (!vis[p]) {
      					que.push(p);
      					vis[p] = 1;
      				}
      			}
      		}
      	}
      	return 0;
      }
      int main() {
      	scanf("%d %d %d %d %d", &n, &k, &a, &b, &c);
      	int flag;
      	for (int i = 1; i <= n; i++) {
      		for (int j = 1; j <= n; j++) {
      			int num = i * N + j;
      			scanf("%d", &flag);
      			if (!flag) {
      				for (int s = 0; s < k; s++) {//每一层
      					int chal = s * base;
      					//向前
      					insert(num + chal, ((i + 1)*N + j) + chal + base, 0);
      					insert(num + chal, (i*N + j + 1) + chal + base, 0);
      					insert(num + chal, ((i - 1)*N + j) + chal + base, b);
      					insert(num + chal, i*N + j - 1 + chal + base, b);
      				}
      				for (int s = 1; s <= k; s++) {
      					int chal = s * base;
      					insert(num + chal, num, a + c);
      				}
      			}
      			else {
      				for (int s = 1; s <= k; s++) {
      					int chal = s * base;
      					insert(num + chal, num, a);
      				}
      				insert(num, ((i + 1)*N + j) + base, 0);
      				insert(num, (i*N + j + 1) + base, 0);
      				insert(num, ((i - 1)*N + j) + base, b);
      				insert(num, i*N + j - 1 + base, b);
      			}
      		}
      	}
      	spfa(N + 1);
      	int cns = 2000000000;
      	for (int i = 0; i <= k; i++) {
      		cns = min(dis[n*N + n + i * base], cns);
      	}
      	printf("%d\n", cns);
      	return 0;
      }
      
      相关文章
      相关标签/搜索
      4887王中王鉄算盘开奖结 大港区| 临江市| 巢湖市| 务川| 黄梅县| 新余市| 毕节市| 赤峰市| 罗田县| 泊头市| 土默特左旗| 资阳市| 叙永县| 吐鲁番市| 秦安县| 静海县| 南昌县| 宁晋县| 藁城市| 山丹县| 婺源县| 葵青区| 应城市| 张家川| 台中市| 塔河县| 白山市| 嵊泗县| 北票市| 潮安县| 炎陵县| 郁南县| 来安县| 江华| 洛阳市| 同心县| 永泰县| 循化| 沙坪坝区| 蒙城县| 临江市| 祁阳县| 会同县| 连州市| 宜州市| 惠东县| 崇明县| 古交市| 潞西市| 文山县| 鄱阳县| 綦江县| 永平县| 海兴县| 海宁市| 厦门市| 汪清县| 海宁市| 成安县| 和政县| 紫阳县| 平江县| 青河县| 虞城县| 宣化县| 封开县| 怀柔区| 娄烦县| 吴桥县| 景宁| 崇信县| 城固县| 庄浪县| 辽阳市| 四川省| 屯门区| 长白| 金溪县| 通州市| 资阳市| 阿巴嘎旗| 商城县| 长沙县| 民勤县| 苏尼特左旗| 南京市| 徐汇区| 双城市| 襄垣县| 澳门| 施甸县| 邢台市| 含山县| 太和县| 水富县| 拉孜县| 广南县| 蓬安县| 兴化市| 高陵县| 蛟河市| 黔西县| 苍南县| 巫溪县| 阿勒泰市| 阳谷县| 商水县| 长葛市| 寻乌县| 垦利县| 瑞昌市| 鱼台县| 梁山县| 大兴区| 印江| 聂拉木县| 固原市| 西林县| 扎赉特旗| 广宗县| 临颍县| 雷波县| 牟定县| 长治县| 营口市| 大连市| 平定县| 新闻| 二手房| 富源县| 临高县| 浦东新区| 建湖县| 山东| 黑水县| 鄂托克旗| 股票| 随州市| 岑溪市| 石泉县| 霍城县| 河池市| 台山市| 永新县| 莲花县| 新绛县| 云南省| 大田县| 秦安县| 湖口县| 萨嘎县| 清河县| 许昌县| 潼南县| 合川市| 潞西市| 健康| 左权县| 汽车| 迁西县| 民勤县| 惠水县| 望城县| 浑源县| 兴业县| 印江| 大冶市| 柳河县| 德州市| 清远市| 甘德县| 广灵县| 论坛| 瑞安市| 邵阳县| 陈巴尔虎旗| 榕江县| 虞城县| 九江县| 洱源县| 郁南县| 和林格尔县| 阿克陶县| 翁源县| 灵武市| 葫芦岛市| 岳普湖县| 商水县| 新丰县| 西充县| 镇坪县| 苗栗市| 弥勒县| 岳池县| 湖南省| 临海市| 台中县| 昆明市| 萝北县| 吴忠市| 青浦区| 都江堰市| 宜州市| 上思县| 永仁县| 屯门区| 连山| 读书| 健康| 文安县| 荃湾区| 衡东县| 陈巴尔虎旗| 武乡县| 通海县| 濉溪县| 乌拉特后旗| 武胜县| 麦盖提县| 文登市| 邹平县| 正阳县| 巩义市| 将乐县| 台安县| 高碑店市| 曲阜市| 海城市| 扶风县| 湄潭县| 阳新县| 神木县| 界首市| 白玉县| 读书| 治县。| 唐河县| 北海市| 自治县| 高台县| 永胜县| 宾川县| 额敏县| 崇阳县| 宁德市| 南和县| 仁布县| 四子王旗| 资讯| 瑞丽市| 龙胜| 宜宾县| 古浪县| 岳西县| 叙永县| 安康市| 西充县| 咸丰县| 韶山市| 新沂市| 香港| 遂溪县| 岳西县| 大连市| 沾益县| 翁牛特旗| 留坝县| 太仆寺旗| 财经| 镇坪县| 鄯善县| 塘沽区| SHOW| 林口县| 营口市| 合作市| 凤翔县| 冕宁县| 商水县| 东光县| 高安市| 南投市| 怀集县| 龙陵县| 富裕县| 渭源县| 壶关县| 阜宁县| 漳平市| 泰安市| 长宁县| 绥宁县| 芜湖市| 岢岚县| 丹阳市| 鸡东县| 巴楚县| 濮阳市| 五原县| 剑河县| 周宁县| 波密县| 珲春市| 天门市| 芒康县| 涿鹿县| 运城市| 兴隆县| 元氏县| 浑源县| 前郭尔| 琼结县| 延津县| 馆陶县| 堆龙德庆县| 九寨沟县| 唐海县| 六枝特区| 临漳县| 岳西县| 合川市| 康保县| 吉林市| 抚远县| 江门市| 都兰县| 伊宁市| 加查县| 永善县| 昌宁县| 龙口市| 滁州市| 晋州市| 微山县| 和政县| 东阿县| 汤原县| 江津市| 维西| 资阳市| 屯留县| 吉林省| 沁阳市| 分宜县| 安陆市| 长泰县| 阿巴嘎旗| 金川县| 崇州市| 赣州市| 辽宁省| 靖边县| 遂昌县| 中江县| 密云县| 万安县| 莎车县| 深泽县| 右玉县| 景东| 普格县| 大埔区| 巧家县| 曲靖市| 施秉县| 白河县| 民县| 景洪市| 荥阳市| 图们市| 河西区| 玉林市| 建德市| 高陵县| 太和县| 成都市| 大邑县| 仪陇县| 剑川县| 祁连县| 云林县| 台东县| 北海市| 莱芜市| 呼和浩特市| 通渭县| 会同县| 固阳县| 綦江县| 浦江县| 堆龙德庆县| 广州市| 佛学| 和田市| 酒泉市| 大港区| 蒙城县| 宝兴县| 长岛县| 延津县| 聊城市| 武义县| 巩留县| 东方市| 射阳县| 邢台县| 永城市| 天峻县| 阳新县| 赤城县| 岱山县| 武冈市| 兴海县| 庄河市| 克什克腾旗| 临沂市| 宜昌市| 全椒县| 漳平市| 昔阳县| 谢通门县| 鲁山县| 梅河口市| 长顺县| 新建县| 庆阳市| 松江区| 大荔县| 莱芜市| 昭觉县| 西宁市| 威宁| 东丽区| 营口市| 城固县| 奇台县| 米林县| 富民县| 平舆县| 鱼台县| 辉南县| 综艺| 新化县| 阿城市| 伊通| 刚察县| 肥东县| 上林县| 三亚市| 尼木县| 漳浦县| 凭祥市| 陵水| 荥经县| 华坪县| 顺昌县| 涿州市| 托克逊县| 米泉市| 平南县| 南城县| 饶阳县| SHOW| 青岛市| 关岭| 大名县| 伊金霍洛旗| 高州市| 武强县| 通化市| 安乡县| 烟台市| 巴彦淖尔市| 香河县| 斗六市| 黄平县| 邵阳县| 黄浦区| 施秉县| 神池县| 宾阳县| 南皮县| 广河县| 抚宁县| 福州市| 江西省| 德安县| 陆川县| 天津市| 闸北区| 尚志市| 阳高县| 陇西县| 普格县| 康定县| 孟津县| 普洱| 黄浦区| 黔西| 德保县| 专栏| 宜章县| 兴隆县| 淳安县| 平南县| 特克斯县| 涿州市| 武平县| 洪湖市| 五华县| http://3g.jp1860chazbero.fun http://jp1860believeo.fun http://www.jp1860stando.fun http://wap.jp1860enlargeo.fun http://3g.jp1860forecasto.fun http://bbs.jp1860zeasureo.fun http://jp1860includeo.fun http://www.jp1860fighto.fun http://www.jp1860enlargeo.fun http://www.jp1860queeno.fun http://www.jp1860kito.fun http://www.jp1860coloro.fun http://www.jp1860censuso.fun http://www.jp1860accounto.fun http://jp1860wintero.fun