Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

AC代码

Posted by WeiSama at 2017-02-12 15:32:27 on Problem 3207
[code=cpp]#include <cstdio>
#include <algorithm>
//#include <bits/stdc++.h>
//#include <ext/pb_ds/tree_policy.hpp>
//#include <ext/pb_ds/assoc_container.hpp>
using namespace std;

const int M = 1000000 + 5;

int cnt, head[M], nxt[M], to[M];

void AddEdge(int u, int v) {
    nxt[++cnt] = head[u], head[u] = cnt, to[cnt] = v;
}

int idx, num, top, dfn[M], low[M], s[M], sccno[M];

void Tarjan(int u) {
    dfn[u] = low[u] = ++idx;
    s[++top] = u;
    for (int e = head[u]; e; e = nxt[e]) {
        int v = to[e];
        if (!dfn[v]) {
            Tarjan(v);
            low[u] = min(low[u], low[v]);
        } else if (!sccno[v]) low[u] = min(low[u], dfn[v]);
    }
    if (low[u] == dfn[u]) {
        num++;
        while (1) {
            int x = s[top--];
            sccno[x] = num;
            if (x == u) break;
        }
    }
}

int n, m, a[M], b[M];

int main() {
    scanf("%d%d", &n, &m);
    for (int i = 0; i < m; i++) {
        scanf("%d%d", &a[i], &b[i]);
        if (a[i] > b[i]) swap(a[i], b[i]);
    }
    for (int i = 0; i < m; i++)
        for (int j = i + 1; j < m; j++)
            if (a[i] < a[j] && b[i] > a[j] && b[i] < b[j] || a[i] > a[j] && a[i] < b[j] && b[i] > b[j]) {
                AddEdge(i << 1, (j << 1) | 1);
                AddEdge((i << 1) | 1, j << 1);
                AddEdge(j << 1, (i << 1) | 1);
                AddEdge((j << 1) | 1, i << 1);
            }
    for (int i = 0; i < (m << 1); i++)
        if (!dfn[i]) Tarjan(i);
    for (int i = 0; i < (m << 1); i += 2)
        if (sccno[i] == sccno[i ^ 1]) {
            printf("the evil panda is lying again");
            return 0;
        }
    printf("panda is telling the truth...");
    return 0;
}[/code]

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator