#include <bits/stdc++.h>
using namespace std;
typedef int64_t llo;
#define mp make_pair
#define pb push_back
#define a first
#define b second
int n,m,t;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin>>t;
while(t--){
cin>>n>>m;
if(n==1){
cout<<m<<endl;
for(int j=0;j<m;j++){
cout<<"-";
}
cout<<endl;
}
else if(m==1){
cout<<n<<endl;
for(int j=0;j<n;j++){
cout<<"+"<<endl;
}
cout<<endl;
}
else if(n==2){
cout<<m<<endl;
for(int i=0;i<m;i++){
cout<<"-";
}
cout<<endl;
for(int i=0;i<m;i++){
cout<<"-";
}
cout<<endl;
}
else if(m==2){
cout<<n<<endl;
for(int i=0;i<n;i++){
cout<<"++"<<endl;
}
}
else if(n==3){
cout<<(m+1)<<endl;
for(int i=0;i<m;i++){
cout<<"-";
}
cout<<endl;
for(int i=0;i<m;i++){
cout<<"+";
}
cout<<endl;
for(int i=0;i<m;i++){
cout<<"-";
}
cout<<endl;
}
else if(m==3){
cout<<(n+1)<<endl;
for(int i=0;i<n;i++){
cout<<"+-+"<<endl;
}
}
else if(n==4){
cout<<m+1<<endl;
for(int j=0;j<3;j++){
for(int i=0;i<m;i++){
cout<<"-";
}
cout<<endl;
}
for(int i=0;i<m;i++){
cout<<"+";
}
cout<<endl;
}
else if(m==4){
cout<<n+1<<endl;
for(int i=0;i<n;i++){
cout<<"+++-"<<endl;
}
}
else if(m%2==1 and n%2==1){
if(m+3+(n-5)/2>n+3+(m-5)/2){
cout<<(m+3+(n-5)/2)<<endl;
int it[n][m];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
it[i][j]=0;
}
}
for(int i=0;i<(m+2)/2;i++){
it[0][i]=1;
}
for(int i=m-(m+2)/2;i<m;i++){
it[1][i]=1;
}
for(int j=0;j<m;j++){
if(it[0][j]!=1 or it[1][j]!=1){
it[2][j]=1;
}
}
for(int i=5;i<n;i+=2){
for(int j=0;j<m;j++){
it[i][j]=1;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(it[i][j]==1){
cout<<"+";
}
else{
cout<<"-";
}
}
cout<<endl;
}
}
else{
cout<<(n+3+(m-5)/2)<<endl;
int it[n][m];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
it[i][j]=0;
}
}
for(int i=0;i<(n+2)/2;i++){
it[i][0]=1;
}
for(int i=n-(n+2)/2;i<n;i++){
it[i][1]=1;
}
for(int j=0;j<n;j++){
if(it[j][0]!=1 or it[j][1]!=1){
it[j][2]=1;
}
}
for(int j=5;j<m;j+=2){
for(int i=0;i<n;i++){
it[i][j]=1;
// cout<<i<<","<<j<<endl;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(it[i][j]==1){
cout<<"-";
}
else{
cout<<"+";
}
}
cout<<endl;
}
}
}
else if(n==5){
cout<<(m+3+(n-5)/2)<<endl;
int it[n][m];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
it[i][j]=0;
}
}
for(int i=0;i<(m+2)/2;i++){
it[0][i]=1;
}
for(int i=m-(m+2)/2;i<m;i++){
it[1][i]=1;
}
for(int j=0;j<m;j++){
if(it[0][j]!=1 or it[1][j]!=1){
it[2][j]=1;
}
}
for(int i=5;i<n;i+=2){
for(int j=0;j<m;j++){
it[i][j]=1;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(it[i][j]==1){
cout<<"+";
}
else{
cout<<"-";
}
}
cout<<endl;
}
}
else if(m==5){
cout<<(n+3)<<endl;
int it[n][m];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
it[i][j]=0;
}
}
for(int i=0;i<(n+2)/2;i++){
it[i][0]=1;
}
for(int i=n-(n+2)/2;i<n;i++){
it[i][1]=1;
}
for(int j=0;j<n;j++){
if(it[j][0]!=1 or it[j][1]!=1){
it[j][2]=1;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(it[i][j]==1){
cout<<"-";
}
else{
cout<<"+";
}
}
cout<<endl;
}
}
/*int it[n][m];
if(n>m){
int l=0;
for(int i=0;i<n;i++){
for(int j=l;j<l+(m+2)/2;j++){
it[i][j%m]=1;
}
l=l+(m+2)/2;
l%=m;
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(it[i][j]){
cout<<"+";
}
else{
cout<<"-";
}
}
cout<<endl;
}
}
else{
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(i%2==0){
cout<<"-";
}
else{
cout<<"+";
}
}
cout<<endl;
}
}*/
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
4 ms |
384 KB |
Output is correct |
2 |
Correct |
5 ms |
384 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
13 ms |
384 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
4 ms |
384 KB |
Output is correct |
2 |
Correct |
5 ms |
384 KB |
Output is correct |
3 |
Correct |
13 ms |
384 KB |
Output is correct |
4 |
Correct |
19 ms |
384 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
71 ms |
1388 KB |
Wrong answer in test 97 21: 108 < 116 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
28 ms |
888 KB |
Wrong answer |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
4 ms |
384 KB |
Output is correct |
2 |
Correct |
5 ms |
384 KB |
Output is correct |
3 |
Correct |
13 ms |
384 KB |
Output is correct |
4 |
Correct |
19 ms |
384 KB |
Output is correct |
5 |
Incorrect |
71 ms |
1388 KB |
Wrong answer in test 97 21: 108 < 116 |
6 |
Halted |
0 ms |
0 KB |
- |