#include <bits/stdc++.h>
//#pragma GCC optimize("Ofast")
//1.0 * clock() / CLOCKS_PER_SEC
#define fi first
#define se second
#define int long long int
#define dl double long
using namespace std;
const int N = 1e6 + 7;
const int INF = 1e10 + 7;
const int mod = 998244353;
//mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
void solve1()
{
int n, m;
cin >> n >> m;
if(n < 3){
cout << m << endl;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
cout << '-';
}
cout << endl;
}
return;
}
if(m < 3){
cout << n << endl;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
cout << '+';
}
cout << endl;
}
return;
}
if(m > n){
int x = m / 2 + 1;
int y = n / 2 - 1;
if(n % 2 == 1)
y++;
cout << y * 2 + (m - x) * 2 << endl;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
if((j < x && i < y) || (j + 1 > m - x && i + 1 > n - y)){
cout << '+';
}else{
cout << '-';
}
}
cout << endl;
}
}else{
int x = m / 2 - 1;
if(m % 2 == 1)
x++;
int y = n / 2 + 1;
cout << x * 2 + (n - y) * 2 << endl;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
if((j < x && i < y) || (j + 1 > m - x && i + 1 > n - y)){
cout << '-';
}else{
cout << '+';
}
}
cout << endl;
}
}
}
int32_t main()
{
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0); srand(time(0));
//freopen( "input.txt" , "r" , stdin );
//freopen( "output.txt" , "w" , stdout );
//freopen( "cupboard.in" , "r" , stdin );
//freopen( "cupboard.out" , "w" , stdout );
int cghf = 1;cin >> cghf;
while( cghf-- ){
solve1();
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Incorrect |
1 ms |
364 KB |
Wrong answer in test 2 1: 1 < 2 |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
10 ms |
364 KB |
Wrong answer in test 2 1: 1 < 2 |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Incorrect |
1 ms |
364 KB |
Wrong answer in test 2 1: 1 < 2 |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
76 ms |
1388 KB |
Output is correct |
2 |
Correct |
32 ms |
1260 KB |
Output is correct |
3 |
Correct |
31 ms |
1260 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
59 ms |
1388 KB |
Wrong answer in test 4 4: 4 < 5 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Incorrect |
1 ms |
364 KB |
Wrong answer in test 2 1: 1 < 2 |