제출 #363230

#제출 시각아이디문제언어결과실행 시간메모리
363230Tenis0206Norela (info1cup18_norela)C++11
100 / 100
257 ms492 KiB
#include <bits/stdc++.h>

using namespace std;
int n,m;
int Min = 1e9;
long long v[10000005];
string s,rez;
void Back(int k, long long sum)
{
    if(sum==(1LL<<(n+1))-2)
    {
        if(k-1<Min || (k-1==Min && s<rez))
        {
            Min = k-1;
            rez = s;
        }
    }
    if(k>m)
    {
        return;
    }
    for(int i=s[k-1]+1; i<=m; i++)
    {
        s.push_back(i);
        Back(k+1,(sum^v[i]));
        s.pop_back();
    }
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cin>>n>>m;
    for(int i=1; i<=m; i++)
    {
        int q;
        cin>>q;
        for(int j=1; j<=q; j++)
        {
            int b;
            cin>>b;
            v[i]+=(1LL<<b);
        }
    }
    s.push_back(0);
    Back(1,0);
    cout<<Min<<'\n';
    for(int i=1;i<rez.size();i++)
    {
        cout<<(int)(rez[i])<<' ';
    }
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

norela.cpp: In function 'int main()':
norela.cpp:48:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |     for(int i=1;i<rez.size();i++)
      |                 ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...