実現したいこと
AtCoder Beginner Contest 002 D問題を解きたい。
発生している問題・分からないこと
以下のようなコードを書いたが正しい答えが出力されない。
該当のソースコード
#include <iostream> #include <set> #include <vector> #include <algorithm> using namespace std; using ll = long long; int main() { int n,m; cin >> n >> m; bool fri[n][n] = {false}; for(int i=0; i<m; i++){ int x,y; cin >> x >> y; fri[x - 1][y - 1] = fri[y - 1][x - 1] = true; } int ans = 0; for(int i=0; i < (1<<n); i++){ bool ok = true; for(int j=0; j<n; j++){ for(int k=0; k<j; k++){ if(i >> j & i >> k & 1 && !fri[i][j]) ok = false; } } if(ok) ans = max(ans, __builtin_popcount(i)); cout << ans << endl; } }
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
何も変わらずでした。
補足
特になし
質問に問題のURLを載せてください。
https://atcoder.jp/contests/abc002/tasks/abc002_4
回答1件
あなたの回答
tips
プレビュー