제출 #341561

#제출 시각아이디문제언어결과실행 시간메모리
341561Dilshod_ImomovRed-blue table (IZhO19_stones)C++17
43 / 100
36 ms1516 KiB
# include <bits/stdc++.h> # define speed ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0) # define int long long # define fi first # define se second using namespace std; const int N = 1e3 + 7; const int mod = 1e9 + 7; char a[N][N]; int cnt[N]; void solve() { int n, m, inv = 0; cin >> n >> m; if ( m > n ) { inv = 1; swap( n, m ); } int needr = (m + 2) / 2; for ( int i = 1; i <= n; i++ ) { for ( int j = 1; j <= m; j++ ) { if ( j <= needr ) { if ( !inv ) { a[i][j] = '+'; } else { a[i][j] = '-'; } } else { if ( !inv ) { a[i][j] = '-'; } else { a[i][j] = '+'; } } } } vector < int > vc(3); vc[0] = n / 3 + ((n % 3) >= 1); vc[1] = vc[0] + n / 3 + ((n % 3) == 2); vc[2] = n; int ans = n + (m - needr); if ( m == 5 ) { ans++; for ( int i = 1; i <= n; i++ ) { if ( i <= vc[0] ) { continue; } if ( i <= vc[1] ) { if ( !inv ) { a[i][3] = '-'; a[i][4] = '+'; } else { a[i][3] = '+'; a[i][4] = '-'; } continue; } if ( !inv ) { a[i][3] = '-'; a[i][5] = '+'; } else { a[i][3] = '+'; a[i][5] = '-'; } } } cout << ans << '\n'; if ( !inv ) { for ( int i = 1; i <= n; i++ ) { for ( int j = 1; j <= m; j++ ) { cout << a[i][j]; } cout << '\n'; } } else { for ( int i = 1; i <= m; i++ ) { for ( int j = 1; j <= n; j++ ) { cout << a[j][i]; } cout << '\n'; } } } int32_t main() { speed; int T = 1; 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...