zoukankan      html  css  js  c++  java
  • 湘潭邀请赛 Hamiltonian Path

    湘潭邀请赛的C题,哈密顿路径,边为有向且给定的所有边起点小于终点,怎么感觉是脑筋急转弯?

    以后一定要牢记思维活跃一点,把复杂的事情尽量简单化而不是简单的事情复杂化。

    #include<cstdio>
    #include<iostream>
    #include<cstdlib>
    #include<cstring>
    #include<string>
    #include<algorithm>
    #include<map>
    #include<queue>
    #include<vector>
    #include<cmath>
    #include<utility>
    using namespace std;
    const int N = 100008, INF = 0x3F3F3F3F;
    #define MS(a, num) memset(a, num, sizeof(a))
    #define PB(A) push_back(A)
    #define FOR(i, n) for(int i = 0; i < n; i++)
    int dis[N];
    int main(){
        int n, m;
        while(~scanf("%d %d", &n, &m)){
            memset(dis, 0x3F, sizeof(dis));
            while(m--){
                int a, b, c;
                scanf("%d %d %d", &a, &b, &c);
                if(a + 1 == b){
                    dis[a] = min(dis[a], c);
                }
            }
            int ans = 0;
            for(int i = 1; i < n; i++){
                if(dis[i] >= INF){
                    ans = -1;
                    break;
                }
                ans += dis[i];
            }
            cout<<ans<<'
    ';
        }
        return 0;
    }
  • 相关阅读:
    MyBatis 缓存机制
    MyBatis 动态SQL
    SpringMVC的简介与使用
    捕获组和前后查找
    正则表达式:( ) 小括号、[ ] 中括号、{ } 大括号的区别
    343.整数拆分
    74. 搜索二维矩阵
    数的划分
    213.打家劫舍||
    整数划分为k份
  • 原文地址:https://www.cnblogs.com/IMGavin/p/5821715.html
Copyright © 2011-2022 走看看