ABC002-D(https://atcoder.jp/contests/abc002/tasks/abc002_4)を解いたのですがどこが原因で間違った回答が出るのかわかりません。ご教授願います。
C++
1#include <bits/stdc++.h> 2using namespace std; 3#define ll long long 4#define ld long double 5#define rep(i,a,n) for (ll i = a;i<(n);++i) 6#define all(v) v.begin(),v.end() 7#define INF 1000000000000 //10^12 8#define MOD 10000007 //10^9+7 9#define MAXR 100000 //10^5 10/*------------------------------------------------------------------------------------------*/ 11int main(){ 12 ll n,m;cin>>n>>m; 13 vector<ll>per[n]; 14 rep(i,0,m){ 15 ll x,y;cin>>x>>y; 16 per[x-1].push_back(y-1); 17 per[y-1].push_back(x-1); 18 } 19 ll ans=1; 20 rep(bit,0,(1<<n)){ 21 vector<ll>S; 22 rep(i,0,n){ 23 if(bit&(1<<i)){ 24 S.push_back(i); 25 } 26 } 27 bool c=true; 28 rep(i,0,S.size()){ 29 rep(j,0,S.size()){ 30 if(i==j)continue; 31 if(!count(all(per[i]),j)){ 32 c=false; 33 } 34 } 35 } 36 if(c){ 37 ll size=S.size(); 38 ans=max(ans,size); 39 40 } 41 } 42 cout<<ans; 43 return 0; 44}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/17 12:22