답안 #172651

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
172651 2020-01-02T09:33:03 Z LinusTorvaldsFan Red-blue table (IZhO19_stones) C++14
27 / 100
47 ms 1620 KB
#include <bits/stdc++.h>

using namespace std;

char f[2000][2000];

int ver[2000];
int hor[2000];


int main() {
	int t;
	cin>>t;
	for(;t;t--){
		int n,m;
		cin>>n>>m;
		int ans=max(n,m);
		if(n>m){
			for(int i=0;i<n;i++){
				for(int j=0;j<m;j++){
					f[i][j]='+';
					hor[i]=m;
				}
			}
			for(int j=0;j<m;j++){
				int t=0;
				for(int i=0;i<n;i++){
					if(t>=n/2+1)break;
					if(hor[i]-1>=m/2+1){
						f[i][j]='-';
						hor[i]--;
						t++;
					}
				}
				if(t==n/2+1)ans++;
			}
				
		} else{
			for(int i=0;i<n;i++){
				for(int j=0;j<m;j++){
					f[i][j]='-';
					ver[j]=n;
				}
			}
			for(int i=0;i<n;i++){
				int t=0;
				for(int j=0;j<m;j++){
					if(t>=m/2+1)break;
					if(ver[j]-1>=n/2+1){
						f[i][j]='+';
						ver[j]--;
						t++;
					}
				}
				if(t==m/2+1)ans++;
			}
		}
		cout<<ans<<endl;
		for(int i=0;i<n;i++){
			for(int j=0;j<m;j++){
				cout<<f[i][j];
			}
			cout<<"\n";
		}
	}
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 504 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 5 ms 504 KB Output is correct
4 Incorrect 7 ms 480 KB Wrong answer in test 5 29: 31 < 32
# 결과 실행 시간 메모리 Grader output
1 Incorrect 47 ms 1620 KB Wrong answer in test 97 21: 107 < 116
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 45 ms 1568 KB Wrong answer in test 24 24: 35 < 44
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 5 ms 504 KB Output is correct
4 Incorrect 7 ms 480 KB Wrong answer in test 5 29: 31 < 32