제출 #342428

#제출 시각아이디문제언어결과실행 시간메모리
342428SeDunionRed-blue table (IZhO19_stones)C++17
0 / 100
48 ms1388 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; const int N = 1e3 + 66; vector<vector<char>> r; void solve() { int n, m; cin >> n >> m; int ans = 0, ai = 0; for (int A = 0 ; A <= n ; ++ A) { int Acnt = ((m - 1) / 2) * A; // not A * (m-1) / 2!!!!!!!!!!!!!!!! int Bcnt = ((A * 2 - n) / 2 + 1); int B = (A * 2 - n >= 0 ? Acnt / Bcnt : m); B = min(B, m); if (A + B >= ans) { ans = A + B; ai = A; } } cout << ans << "\n"; r = vector<vector<char>>(n, vector<char>(m, '-')); for (int i = 0 ; i < ai ; ++ i) { r[i] = vector<char>(m, '+'); } for (int i = 0, j = 0 ; ai != 0 && i < m ; ++ i) { int cnt = ai * 2 - n; while (cnt >= 0) { cnt -= 2; r[j][i] = '-'; j++; if (j == ai) j = 0; } } for (auto &vec : r) { for (char &i : vec) cout << i; cout << "\n"; } } int main() { ios_base::sync_with_stdio(0); cin.tie(0), cout.tie(0); int tt; cin >> tt; while (tt--) { 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...