#include<bits/stdc++.h>
#define f first
//#define int long long
#define s second
#define pii pair<int,int>
using namespace std;
const int N=1e3+5,mod=1e9+7;
int t,n,m,red[N];
char a[N][N];
set<pii> s;
main(){
// t=1;
cin >> t;
while(t--){
cin>>n>>m;
for(int i=1;i<=m;i++) red[i] = 0;
int B = m;
int ans = B,cnt=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++) a[i][j]='-';
}
for(int i=1;i<=n;i++){
s.clear();
for(int j=1;j<=m;j++) s.insert({red[j],j});
for(int j=1;j<=m/2+1;j++) {
pii c = *--s.end();
if(c.f>=n/2+1) red[c.s]++,s.erase(c);
else {
pii c = *s.begin();
s.erase(c);
if(c.f+1==n/2+1) B--; red[c.s]++; }
}
if(i+B>ans) ans=i+B,cnt=i;
}
cout<<ans<<endl;
s.clear();
for(int i=1;i<=m;i++) red[i] = 0;
for(int i=1;i<=cnt;i++){
s.clear();
for(int j=1;j<=m;j++) s.insert({red[j],j});
for(int j=1;j<=m/2+1;j++) {
pii c = *--s.end();
if(c.f>=n/2+1) red[c.s]++,a[i][c.s] = '+',s.erase(c);
else {
pii c = *s.begin();
s.erase(c);
a[i][c.s] = '+';red[c.s]++; }
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++)
cout<<a[i][j];
cout<<endl;
}
}
}
Compilation message
stones.cpp:11:2: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
11 | main(){
| ^~~~
stones.cpp: In function 'int main()':
stones.cpp:32:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
32 | if(c.f+1==n/2+1) B--; red[c.s]++; }
| ^~
stones.cpp:32:27: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
32 | if(c.f+1==n/2+1) B--; red[c.s]++; }
| ^~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Incorrect |
1 ms |
204 KB |
in the table A+B is not equal to 2 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
10 ms |
332 KB |
in the table A+B is not equal to 2 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Incorrect |
1 ms |
204 KB |
in the table A+B is not equal to 2 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
281 ms |
1356 KB |
Wrong answer in test 97 21: 112 < 116 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
293 ms |
1340 KB |
in the table A+B is not equal to 46 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Incorrect |
1 ms |
204 KB |
in the table A+B is not equal to 2 |