Submission #899029

#TimeUsernameProblemLanguageResultExecution timeMemory
899029otariusRed-blue table (IZhO19_stones)C++17
0 / 100
24 ms1372 KiB
#pragma GCC optimize("Ofast") #pragma GCC target ("sse4") #include <map> #include <set> #include <cmath> #include <queue> #include <vector> #include <iomanip> #include <cstring> #include <limits.h> #include <iostream> #include <string.h> #include <algorithm> using namespace std; #define ff first #define sc second #define pb push_back #define ll long long #define pll pair<ll, ll> #define pii pair<int, int> #define ull unsigned long long const ll inf = 1e18; const ll mod = 1e9 + 7; const ll wmod = 998244353; #define int long long void solve(){ int n, m; cin >> n >> m; char a[n + 1][m + 1]; if (n >= m){ for (int i = 1; i <= n; i++){ for (int j = 1; j <= m; j++){ a[i][j] = '+'; } } int x = 0, y = 0; for (int j = 1; j < m - j; j++){ for (int i = 1; true; i++){ a[i][j] = '-'; x = max(x, i); y = max(y, j); if (i > n - i)break; } } if (n % 2 == 0){ for (int i = n; i >= x; i--){ for (int j = m; j >= y; j--){ a[i][j] = '-'; } } } }else { for (int i = 1; i <= n; i++){ for (int j = 1; j <= m; j++){ a[i][j] = '-'; } } int x = 0, y = 0; for (int i = 1; i < n - i; i++){ for (int j = 1; true; j++){ a[i][j] = '+'; x = max(x, i); y = max(y, j); if (j > m - j)break; } } if (m % 2 == 0){ for (int i = n; i > x; i--){ for (int j = m; j > y; j--){ a[i][j] = '+'; } } } } int ans = 0; for (int i = 1; i <= n; i++){ int cnt = 0; for (int j = 1; j <= m; j++){ cnt += (a[i][j] == '+'); } if (cnt > m - cnt)ans++; } for (int j = 1; j <= m; j++){ int cnt = 0; for (int i = 1; i <= n; i++){ cnt += (a[i][j] == '-'); } if (cnt > n - cnt)ans++; } cout << ans << '\n'; for (int i = 1; i <= n; i++){ for (int j = 1; j <= m; j++){ cout << a[i][j]; }cout << '\n'; } /* ----++ ----++ ----++ ++++-- ++++-- */ } int32_t main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); ll T = 1; cin >> T; while(T--){ solve(); } return 0; }
#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...