Submission #88691

# Submission time Handle Problem Language Result Execution time Memory
88691 2018-12-07T13:55:10 Z shafinalam Geppetto (COCI15_geppetto) C++14
80 / 80
525 ms 704 KB
#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

geppetto.cpp: In function 'int main()':
geppetto.cpp:57:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0; i < subset.size(); i++)
                        ~~^~~~~~~~~~~~~~~
geppetto.cpp:60:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int r = 0; r < subset.size(); r++)
                            ~~^~~~~~~~~~~~~~~
geppetto.cpp:39:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     sf("%d%d", &n, &m);
       ^
geppetto.cpp:44:11: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         sf("%d%d", &x, &y);
           ^
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 372 KB Output is correct
3 Correct 307 ms 536 KB Output is correct
4 Correct 308 ms 536 KB Output is correct
5 Correct 353 ms 612 KB Output is correct
6 Correct 356 ms 612 KB Output is correct
7 Correct 326 ms 704 KB Output is correct
8 Correct 343 ms 704 KB Output is correct
9 Correct 421 ms 704 KB Output is correct
10 Correct 525 ms 704 KB Output is correct