zoukankan      html  css  js  c++  java
  • hdu 6165

    虽然题解上说缩点然后判断入度就可以了,然后比赛的时候瞎暴力过了。

    #include <iostream>
    #include <cstring>
    #include <string>
    #include <queue>
    #include <vector>
    #include <map>
    #include <set>
    #include <stack>
    #include <cmath>
    #include <cstdio>
    #include <algorithm>
    #include <iomanip>
    #define N 1010
    #define LL __int64
    #define inf 0x3f3f3f3f
    #define lson l,mid,ans<<1
    #define rson mid+1,r,ans<<1|1
    #define getMid (l+r)>>1
    #define movel ans<<1
    #define mover ans<<1|1
    using namespace std;
    const LL mod = 1000000007;
    int n, m;
    bool flag[N][N];
    int cnt;
    vector<int> mapp[N];
    bool vis[N];
    void dfs(int u) {
        for (int i = 0; i < mapp[u].size(); i++) {
            int v = mapp[u][i];
            if (!vis[v]) {
                flag[cnt][v] = true;
                flag[v][cnt] = true;
                vis[v] = true;
                dfs(v);
            }
        }
    }
    void solve(int u) {
        memset(vis, false, sizeof(vis));
        vis[u] = true;
        cnt = u;
        dfs(u);
        flag[u][u] = 1;
    }
    void init() {
        for (int i = 0; i <= n; i++) {
            mapp[i].clear();
        }
        memset(flag, false, sizeof(flag));
    }
    int main() {
        cin.sync_with_stdio(false);
        int T;
        int a, b;
        cin >> T;
        while (T--) {
            cin >> n >> m;
            init();
            for (int i = 0; i < m; i++) {
                cin >> a >> b;
                mapp[a].push_back(b);
            }
            for (int i = 1; i <= n; i++) {
                solve(i);
            }
            cnt = 0;
            for (int i = 1; i <= n; i++) {
                for (int j = 1; j <= n; j++) {
                    if (flag[i][j] == false) {
                        cnt = 1;
                    }
                }
            }
            if (!cnt) {
                cout << "I love you my love and our love save us!" << endl;
            }
            else {
                cout << "Light my fire!" << endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    OK335x mksd.sh hacking
    Qt jsoncpp 对象拷贝、删除、函数调用 demo
    OK335xS 256M 512M nand flash make ubifs hacking
    Qt QScrollArea and layout in code
    JsonCpp Documentation
    Qt 4.8.5 jsoncpp lib
    Oracle数据库生成UUID
    freemarker得到数组的长度
    FreeMarker中if标签内的判断条件
    freemarker语法
  • 原文地址:https://www.cnblogs.com/z1141000271/p/7416463.html
Copyright © 2011-2022 走看看