| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 88692 | asifthegreat | Geppetto (COCI15_geppetto) | C++14 | 539 ms | 648 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
const int mx = 1e5+5;
typedef long long ll;
typedef unsigned int ui;
typedef unsigned long long ull;
typedef pair<int,int>pii;
typedef pair<int,pii>piii;
#define  sf scanf
#define  pf printf
#define  input freopen("input.txt","r",stdin)
#define  output freopen("output.txt","w",stdout)
#define  inf 1e16
#define  ff first
#define  ss second
#define  MP make_pair
#define  pb push_back
#define  all(v) v.begin(), v.end()
#define  printcase(cases) printf("Case %d:", cases);
#define  Unique(a) a.erase(unique(a.begin(),a.end()),a.end())
#define  FAST  ios_base::sync_with_stdio(0);cout.tie(0)
#define  endl printf("\n")
#define  __lcm(a, b) ((a*b)/__gcd(a, b))
int  Set(int N,int pos){return N=N | (1<<pos);}
int  reset(int N,int pos){return N= N & ~(1<<pos);}
bool check(int N,int pos){return (bool)(N & (1<<pos));}
vector<int>v[30];
int main()
{
    int n, m;
    sf("%d%d", &n, &m);
    for(int i = 0; i < m; i++)
    {
        int x, y;
        sf("%d%d", &x, &y);
        v[x].push_back(y);
        v[y].push_back(x);
    }
    int ans = 1<<n;
    //cout << ans << '\n';
    for(int b = 0; b < (1<<n); b++)
    {
        vector<int>subset;
        for(int i = 0; i < n; i++)
            if(b&(1<<i)) subset.push_back(i+1);
        //for(int i = 0; i < subset.size(); i++) cout << subset[i] << ' ';
        //cout << '\n';
        for(int i = 0; i < subset.size(); i++)
        {
            int flag = 0;
            for(int r = 0; r < subset.size(); r++)
            {
                if(i==r) continue;
                if(find(v[subset[i]].begin(), v[subset[i]].end(), subset[r])!=v[subset[i]].end())
                {
                    //cout << subset[i] << ' ' << subset[r] << '\n';
                    //cout << "\n\n" << '\n';
                    ans--;
                    flag = 1;
                    break;
                }
            }
            if(flag) break;
        }
    }
    pf("%d\n", ans);
    return 0;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
