답안 #382070

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
382070 2021-03-26T11:03:19 Z vanic Red-blue table (IZhO19_stones) C++14
컴파일 오류
0 ms 0 KB
#include <iostream>
#include <cmath>
#include <algorithm>

using namespace std;

const int maxn=1005;


void solve(){
	int n, m;
	cin >> n >> m;
	int gran;
	if(n>m){
		gran=(m-1)/2;
		if(m>3 && n&1){
			cout << n+gran*2-1 << '\n';
			for(int i=0; i<n; i++){
				for(int j=0; j<m; j++){
					if(j<gran){
						if(i<(n+1)/2){
							cout << '-';
						}
						else{
							cout << '+';
						}
					}
					else if(m-j>gran){
						cout << '+';
					}
					else{
						if(i<n/2){
							cout << '+';
						}
						else{
							cout << '-';
						}
					}
				}
				cout << '\n';
			}
		}
/*		else if(m>4 && !(n&1)){
			cout << n+gran*2-2 << '\n';
			for(int i=0; i<n; i++){
				for(int j=0; j<m; j++){
					if(j<gran){
						if(i<=n/2){
							cout << '-';
						}
						else{
							cout << '+';
						}
					}
					else if(m-j>gran){
						cout << '+';
					}
					else{
						if(i<(n-1)/2){
							cout << '+';
						}
						else{
							cout << '-';
						}
					}
				}
				cout << '\n';
			}
		}*/
		else{
			cout << n+gran << '\n';
			for(int i=0; i<n; i++){
				for(int j=0; j<m; j++){
					if(j<gran){
						cout << '-';
					}
					else{
						cout << '+';
					}
				}
				cout << '\n';
			}
		}
	}
	else{
		gran=(n-1)/2;
		if(n>3 && m&1){
			cout << m+gran*2-1 << '\n';
			for(int i=0; i<n; i++){
				for(int j=0; j<m; j++){
					if(i<gran){
						if(j<(m+1)/2){
							cout << '+';
						}
						else{
							cout << '-';
						}
					}
					else if(n-i>gran){
						cout << '-';
					}
					else{
						if(j<m/2){
							cout << '-';
						}
						else{
							cout << '+';
						}
					}
				}
				cout << '\n';
			}
		}
/*		else if(n>4 && !(m&1)){
			cout << m+gran*2-2 << '\n';
			for(int i=0; i<n; i++){
				for(int j=0; j<m; j++){
					if(i<gran){
						if(j<=m/2){
							cout << '+';
						}
						else{
							cout << '-';
						}
					}
					else if(n-i>gran){
						cout << '-';
					}
					else{
						if(j<(m-1)/2){
							cout << '-';
						}
						else{
							cout << '+';
						}
					}
				}
				cout << '\n';
			}
		}*/
		else{
			cout << m+gran << '\n';
			for(int i=0; i<n; i++){
				for(int j=0; j<m; j++){
					if(i<gran){
						cout << '+';
					}
					else{
						cout << '-';
					}
				}
				cout << '\n';
			}
		}
	}
}

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while(t--){
		solve();
	}
	return 0;
}
#include <iostream>
#include <cmath>
#include <algorithm>

using namespace std;

const int maxn=1005;


void solve(){
	int n, m;
	cin >> n >> m;
	int gran;
	if(n>m){
		gran=(m-1)/2;
		if(m>3 && n&1){
			cout << n+gran*2-1 << '\n';
			for(int i=0; i<n; i++){
				for(int j=0; j<m; j++){
					if(j<gran){
						if(i<(n+1)/2){
							cout << '-';
						}
						else{
							cout << '+';
						}
					}
					else if(m-j>gran){
						cout << '+';
					}
					else{
						if(i<n/2){
							cout << '+';
						}
						else{
							cout << '-';
						}
					}
				}
				cout << '\n';
			}
		}
/*		else if(m>4 && !(n&1)){
			cout << n+gran*2-2 << '\n';
			for(int i=0; i<n; i++){
				for(int j=0; j<m; j++){
					if(j<gran){
						if(i<=n/2){
							cout << '-';
						}
						else{
							cout << '+';
						}
					}
					else if(m-j>gran){
						cout << '+';
					}
					else{
						if(i<(n-1)/2){
							cout << '+';
						}
						else{
							cout << '-';
						}
					}
				}
				cout << '\n';
			}
		}*/
		else{
			cout << n+gran << '\n';
			for(int i=0; i<n; i++){
				for(int j=0; j<m; j++){
					if(j<gran){
						cout << '-';
					}
					else{
						cout << '+';
					}
				}
				cout << '\n';
			}
		}
	}
	else{
		gran=(n-1)/2;
		if(n>3 && m&1){
			cout << m+gran*2-1 << '\n';
			for(int i=0; i<n; i++){
				for(int j=0; j<m; j++){
					if(i<gran){
						if(j<(m+1)/2){
							cout << '+';
						}
						else{
							cout << '-';
						}
					}
					else if(n-i>gran){
						cout << '-';
					}
					else{
						if(j<m/2){
							cout << '-';
						}
						else{
							cout << '+';
						}
					}
				}
				cout << '\n';
			}
		}
/*		else if(n>4 && !(m&1)){
			cout << m+gran*2-2 << '\n';
			for(int i=0; i<n; i++){
				for(int j=0; j<m; j++){
					if(i<gran){
						if(j<=m/2){
							cout << '+';
						}
						else{
							cout << '-';
						}
					}
					else if(n-i>gran){
						cout << '-';
					}
					else{
						if(j<(m-1)/2){
							cout << '-';
						}
						else{
							cout << '+';
						}
					}
				}
				cout << '\n';
			}
		}*/
		else{
			cout << m+gran << '\n';
			for(int i=0; i<n; i++){
				for(int j=0; j<m; j++){
					if(i<gran){
						cout << '+';
					}
					else{
						cout << '-';
					}
				}
				cout << '\n';
			}
		}
	}
}

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while(t--){
		solve();
	}
	return 0;
}

Compilation message

stones.cpp:175:11: error: redefinition of 'const int maxn'
  175 | const int maxn=1005;
      |           ^~~~
stones.cpp:7:11: note: 'const int maxn' previously defined here
    7 | const int maxn=1005;
      |           ^~~~
stones.cpp:178:6: error: redefinition of 'void solve()'
  178 | void solve(){
      |      ^~~~~
stones.cpp:10:6: note: 'void solve()' previously defined here
   10 | void solve(){
      |      ^~~~~
stones.cpp:326:5: error: redefinition of 'int main()'
  326 | int main(){
      |     ^~~~
stones.cpp:158:5: note: 'int main()' previously defined here
  158 | int main(){
      |     ^~~~