제출 #93488

#제출 시각아이디문제언어결과실행 시간메모리
93488zubecBiochips (IZhO12_biochips)C++14
0 / 100
3 ms504 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; ll dp[25][(1<<20)+5]; pair<int, int> a[25]; int n; int main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); freopen("beautiful.in", "r", stdin);freopen("beautiful.out", "w", stdout); cin >> n; for (int i = 0; i < n; i++){ int x; cin >> x; int ncp = x; while(ncp){ a[i].first += (ncp % 2 == 1); ncp /= 2; } ncp = x; while(ncp){ a[i].second += (ncp % 3 == 1); ncp /= 3; } dp[i][(1<<i)] = 1; //cout << i << ' ' << a[i].first << ' ' << a[i].second << endl; } for (int mask = 1; mask < (1<<n); mask++){ for (int i = 0; i < n; i++){ if (!(mask & (1<<i))) continue; for (int j = 0; j < n; j++){ if (mask & (1<<j)) continue; if (!(a[i].first == a[j].first || a[i].second == a[j].second)) continue; dp[j][mask|(1<<j)] += dp[i][mask]; } } } ll ans = 0; for (int i = 0; i < n; i++) ans += dp[i][(1<<n)-1]; cout << ans; }

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

biochips.cpp: In function 'int main()':
biochips.cpp:15:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
     freopen("beautiful.in", "r", stdin);freopen("beautiful.out", "w", stdout);
     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
biochips.cpp:15:48: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
     freopen("beautiful.in", "r", stdin);freopen("beautiful.out", "w", stdout);
                                         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...