Submission #499876

# Submission time Handle Problem Language Result Execution time Memory
499876 2021-12-29T21:33:48 Z lukameladze Red-blue table (IZhO19_stones) C++14
0 / 100
56 ms 1740 KB
# include <bits/stdc++.h>
#define f first
#define s second
#define pb push_back
using namespace std;
const int N = 1005;
int t,n,m,a[N][N],ans,rem,cur[N],canrow,val,val1,all;
signed main() {
    cin>>t;
    while (t--) {
        cin>>n>>m;
        ans = max(n,m);
        for (int i = 1; i <= n; i++) {
        	all = i*((m+2)/2);
        	canrow = min(n - (n+2)/2, i);
			for (int j = 0; j < m; j++) {
				if ((m-j)*canrow >= all) {
					if (i + (m - j) > ans) {
						val = i;
					    val1 = j;
					}
					ans = max(ans,i + (m - j));
				}
				all -= i;
			}
		}
		cout<<ans<<endl;
		if (ans == m) {
			for (int i = 1; i <= n; i++) {
				for (int j = 1; j <=m ;j++) {
					cout<<"-";
				}
				cout<<"\n";
			}
			continue;
		}
		if (ans == n) {
			for (int i = 1; i <= n; i++) {
				for (int j = 1; j <= m; j++) {
					cout<<"+";
				}
			}
			cout<<"\n";
			continue;
		}
		for (int i = 1; i <= val; i++) {
			canrow = min(n-(n+2)/2,i);
			for (int j = 1; j <= val1; j++) {
				a[i][j] = 1;
			}
			rem = (m+2)/2-val1;
			vector < pair <int, int > > v;
			v.clear();
			for (int j = val1+1; j <= m; j++) {
				v.pb({cur[j],j});
			}
			sort(v.begin(),v.end());
			
			for (int j = 0; j < rem; j++) {
				a[i][v[j].s] = 1;
				cur[v[j].s]++;
			}//cout<<i<<endl;
		}
		for (int i = 1; i <= n; i++) {
			for (int j = 1; j <= m; j++) {cur[j] = 0;
				if (a[i][j] == 1) cout<<"+";
				else cout<<"-";
			}
			cout<<"\n";
		}
    }
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Incorrect 0 ms 204 KB Wrong answer
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 460 KB Wrong answer
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Incorrect 0 ms 204 KB Wrong answer
# Verdict Execution time Memory Grader output
1 Incorrect 55 ms 1648 KB in the table A+B is not equal to 78
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 56 ms 1740 KB in the table A+B is not equal to 36
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Incorrect 0 ms 204 KB Wrong answer