Submission #829720

#TimeUsernameProblemLanguageResultExecution timeMemory
829720FatihSolakDuathlon (APIO18_duathlon)C++17
5 / 100
1056 ms59920 KiB
#include <bits/stdc++.h>
#define N 100005
using namespace std;
int ok[100][100];
void solve(){
    int n,m;
    cin >> n >> m;
    for(int i = 1;i<=m;i++){
        int u,v;
        cin >> u >> v;
        ok[u-1][v-1] = ok[v-1][u-1] = 1;
    }
    int ans = 0;
    for(int a = 0;a<n;a++){
        for(int b = 0;b<n;b++){
            for(int c = 0;c<n;c++){
                if(a == b || b == c || a == c)
                    continue;
                vector<vector<int>> cnt((1<<n),vector<int> (n,0));
                cnt[(1<<a)][a] = 1;
                bool f = 0;
                for(int mask = 0;mask < (1<<n);mask++){
                    for(int i = 0;i<n;i++){
                        if(cnt[mask][i] == 0)continue;
                        if(cnt[mask][i] == 3)
                            f = 1;
                        for(int to = 0;to<n;to++){
                            if(mask & (1<<to))
                                continue;
                            if(ok[i][to] == 0)
                                continue;
                            int num = cnt[mask][i];
                            if(num == 2 && to == c)
                                num++;
                            if(num == 1 && to == b)
                                num++;
                            cnt[mask + (1<<to)][to] = max(cnt[mask + (1<<to)][to],num);
                        }
                    }
                }
                ans += f;
            }
        }
    }
    cout << ans;
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    #ifdef Local    
        freopen("in.txt","r",stdin);
        freopen("out.txt","w",stdout);
    #endif
    int t = 1;
    //cin >> t;
    while(t--){
        solve();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...