제출 #1289681

#제출 시각아이디문제언어결과실행 시간메모리
1289681amodiNorela (info1cup18_norela)C++20
0 / 100
130 ms572 KiB
#include <bits/stdc++.h> using namespace std; #define int long long //her ceviz yuvarlaktır ama her yuvarlak ceviz değildir... vector<vector<int>>a; vector<vector<int>>yes; int n; int m; vector<int>buyu; void f(vector<int>suan,int i,vector<bool>b) { if(i>m-1)return; vector<int>v=suan; vector<bool>c=b; bool y=0; int sz=a[i].size(); if(count(b.begin(),b.end(),0)==0)y=1; if(y==1){yes.push_back(v);return;} for(int j=0;j<sz;j++) { if(b[a[i][j]]==0)b[a[i][j]]=1; else b[a[i][j]]=0; } v.push_back(++i); f(v,i,b); f(suan,i,c); } int32_t main() { ios_base::sync_with_stdio(false); cin.tie(0); cin>>n>>m; vector<bool>bas(n,0); a.resize(m); for(int i=0;i<m;i++) { int k; cin>>k; a[i].resize(k); for(int j=0;j<k;j++) { cin>>a[i][j]; a[i][j]--; } } f({},0,bas); vector<vector<int>>mn; int sz=1e9; for(auto go:yes){ if(go.size()<=sz){ //for(int i=0;i<go.size();i++)cout<<go[i]<<" "; //if(go.size()<sz)mn.clear(); sort(go.begin(),go.end()); mn.push_back(go); int tsz=go.size(); sz=min(tsz,sz); } } /* for(int i=0;i<mn.size();i++) { for(int j=0;j<mn[i].size();j++)cout<<mn[i][j]<<" "; cout<<endl; }*/ sort(mn.begin(),mn.end()); vector<int> mnn = {898989898,75842579}; for(int i=0;i<mn.size();i++){ if(mn[i].size()==sz)mnn=min(mnn,mn[i]); } cout<<mnn.size()<<endl; for(int i=0;i<mnn.size();i++){ cout<<mnn[i]<<" "; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...