제출 #1280851

#제출 시각아이디문제언어결과실행 시간메모리
1280851fatelessRed-blue table (IZhO19_stones)C++20
0 / 100
2096 ms340 KiB
// #pragma GCC optimize("unroll-loops") // #pragma GCC optimize("Ofast") #include <bits/stdc++.h> using namespace std; #define speedup cin.tie(0)->sync_with_stdio(0) #define bitcount(x) __builtin_popcount(x) #define all(x) x.begin(),x.end() #define Tp template<class T> #define pb emplace_back Tp using vc=vector<T>; using ld=long double; using ll=long long; inline void solve() { int n, m; cin >> n >> m; vc<int> mask(n, 0); int res = 0; vc<int> ansv(n, 0); auto gen = [&](auto& self, int i) -> void { if(i == n) { int ans = 0; for(int j = 0; j < n; j++) if(bitcount(mask[j]) < (m >> 1)) ans++; for(int bit = 0; bit < m; bit++) { int sum = 0; for(int j = 0; j < n; j++) if((mask[j] >> bit) & 1) sum++; if(sum > (n >> 1)) ans++; } if(res < ans) { res = ans; ansv = mask; } return; } for(int masks = 0; masks < (1 << m); masks++) { mask[i] = masks; self(self, i + 1); } }; gen(gen, 0); cout << res << '\n'; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ if((ansv[i] >> j) & 1) cout << "-"; else cout << "+"; } cout << '\n'; } } signed main(){ speedup; int t; cin >> t; while(t--) solve(); }
#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...