zoukankan      html  css  js  c++  java
  • 洛谷3385 【模板】负环

    一道负环模板

    原题链接

    负环模板,不解释。

    #include<cstdio>
    #include<cstring>
    using namespace std;
    const int N = 2010;
    const int M = 3010;
    int fi[N], di[M << 1], ne[M << 1], da[M << 1], dis[N], cnt[N], q[N << 10], l;
    bool v[N];
    inline int re()
    {
    	int x = 0;
    	char c = getchar();
    	bool p = 0;
    	for (; c<'0' || c>'9'; c = getchar())
    		p |= c == '-';
    	for (; c >= '0'&&c <= '9'; c = getchar())
    		x = x * 10 + (c - '0');
    	return p ? -x : x;
    }
    inline void add(int x, int y, int z)
    {
    	di[++l] = y;
    	da[l] = z;
    	ne[l] = fi[x];
    	fi[x] = l;
    }
    int main()
    {
    	int i, n, m, t, head, tail, x, y, z;
    	bool p;
    	t = re();
    	while (t--)
    	{
    		n = re();
    		m = re();
    		l = 0;
    		memset(fi, 0, sizeof(fi));
    		memset(dis, 60, sizeof(dis));
    		memset(cnt, 0, sizeof(cnt));
    		memset(v, 0, sizeof(v));
    		for (i = 1; i <= m; i++)
    		{
    			x = re();
    			y = re();
    			z = re();
    			add(x, y, z);
    			if (z >= 0)
    				add(y, x, z);
    		}
    		head = 0;
    		tail = p = 1;
    		dis[1] = 0;
    		q[1] = 1;
    		while (head != tail && p)
    		{
    			x = q[++head];
    			v[x] = 0;
    			for (i = fi[x]; i; i = ne[i])
    			{
    				y = di[i];
    				if (dis[y] > dis[x] + da[i])
    				{
    					dis[y] = dis[x] + da[i];
    					cnt[y] = cnt[x] + 1;
    					if (cnt[y] >= n)
    					{
    						p = 0;
    						break;
    					}
    					if (!v[y])
    					{
    						q[++tail] = y;
    						v[y] = 1;
    					}
    				}
    			}
    		}
    		if (p)
    			printf("N0
    ");
    		else
    			printf("YE5
    ");
    	}
    	return 0;
    }
    
  • 相关阅读:
    PHP mysqli_next_result() 函数
    PHP mysqli_multi_query() 函数
    PHP mysqli_num_fields() 函数
    PHP mysqli_more_results() 函数
    PHP mysqli_kill() 函数
    PHP mysqli_insert_id() 函数
    PHP mysqli_init() 函数
    PHP mysqli_info() 函数
    PHP mysqli_get_server_version() 函数
    PHP mysqli_get_server_info() 函数
  • 原文地址:https://www.cnblogs.com/Iowa-Battleship/p/9614772.html
Copyright © 2011-2022 走看看