제출 #115767

#제출 시각아이디문제언어결과실행 시간메모리
115767thecodingwizardFriend (IOI14_friend)C++11
11 / 100
29 ms1528 KiB
#include <bits/stdc++.h> #include "friend.h" using namespace std; #define FOR(a, b, c) for (int a = b; a < c; a++) #define ll long long #define vi vector<int> #define pb push_back #define mp make_pair // Find out best sample int findSample(int n, int confidence[], int host[], int protocol[]) { if (n <= 10) { // Subtask 1 set<int> friends[n]; FOR(i, 1, n) { int h = host[i], p = protocol[i]; if (p == 0) { // IAmYourFriend friends[i].insert(h); friends[h].insert(i); } else if (p == 1) { // MyFriendsAreYourFriends for (int u : friends[h]) { friends[u].insert(i); friends[i].insert(u); } } else { // WeAreYourFriends friends[i].insert(h); friends[h].insert(i); for (int u : friends[h]) { friends[u].insert(i); friends[i].insert(u); } } } int ans = 0; for (int i = 0; i < (1 << n); i++) { int curAns = 0; bool invalid = false; for (int j = 0; j < n; j++) { if (!(i & (1 << j))) continue; for (int f : friends[j]) { if (f == j) continue; if (i & (1 << f)) { invalid = true; break; } } if (invalid) break; curAns += confidence[j]; } if (!invalid) ans = max(ans, curAns); } return ans; } exit(1); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...