105222024-04-04 15:38:24111Egy trikolór mesterműcpp17Accepted 100/100171ms15172 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int N,M,R,G,B;
	cin>>N>>M>>R>>G>>B;
	for(int i=0;i<100;i++){
		vector<vector<char>>g(N+1,vector<char>(M+1,'0'));
		vector<pair<int,char>>v{{R,'R'},{G,'G'},{B,'B'}};
		random_shuffle(v.begin(),v.end());
		for(int i=0;i<N;i++){
			for(int j=0;j<M;j++){
				if(i%2!=j%2){
					if(v[0].first){
						v[0].first--;
						g[i][j]=v[0].second;
					}
					else if(v[2].first){
						v[2].first--;
						g[i][j]=v[2].second;
					}
				}
			}
		}
		for(int i=0;i<N;i++){
			for(int j=0;j<M;j++){
				if(i%2==j%2){
					if(v[2].first){
						v[2].first--;
						g[i][j]=v[2].second;
					}
					else if(v[1].first){
						v[1].first--;
						g[i][j]=v[1].second;
					}
				}
			}
		}
		int ok=1;
		for(int i=0;i<N;i++){
			for(int j=0;j<M;j++){
				ok&=g[i][j]!='0';
				ok&=g[i][j]!=g[i][j+1];
				ok&=g[i][j]!=g[i+1][j];
			}
		}
		if(ok){
			cout<<"YES"<<'\n';
			for(int i=0;i<N;i++){
				for(int j=0;j<M;j++){
					cout<<g[i][j];
				}
				cout<<'\n';
			}
			return 0;
		}
	}
	for(int i=0;i<100;i++){
		vector<vector<char>>g(N+1,vector<char>(M+1,'0'));
		vector<pair<int,char>>v{{R,'R'},{G,'G'},{B,'B'}};
		random_shuffle(v.begin(),v.end());
			for(int j=0;j<M;j++){
		for(int i=0;i<N;i++){
				if(i%2!=j%2){
					if(v[0].first){
						v[0].first--;
						g[i][j]=v[0].second;
					}
					else if(v[2].first){
						v[2].first--;
						g[i][j]=v[2].second;
					}
				}
			}
		}
			for(int j=0;j<M;j++){
		for(int i=0;i<N;i++){
				if(i%2==j%2){
					if(v[2].first){
						v[2].first--;
						g[i][j]=v[2].second;
					}
					else if(v[1].first){
						v[1].first--;
						g[i][j]=v[1].second;
					}
				}
			}
		}
		int ok=1;
			for(int j=0;j<M;j++){
		for(int i=0;i<N;i++){
				ok&=g[i][j]!='0';
				ok&=g[i][j]!=g[i][j+1];
				ok&=g[i][j]!=g[i+1][j];
			}
		}
		if(ok){
			cout<<"YES"<<'\n';
			for(int i=0;i<N;i++){
				for(int j=0;j<M;j++){
					cout<<g[i][j];
				}
				cout<<'\n';
			}
			return 0;
		}
	}
	cout<<"NO"<<'\n';
	return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted3ms1864 KiB
2Accepted3ms2020 KiB
subtask217/17
3Accepted3ms2232 KiB
4Accepted3ms2444 KiB
5Accepted3ms2672 KiB
6Accepted3ms2892 KiB
7Accepted3ms3104 KiB
8Accepted3ms3088 KiB
9Accepted3ms3212 KiB
10Accepted3ms3292 KiB
11Accepted3ms3356 KiB
12Accepted3ms3360 KiB
subtask321/21
13Accepted6ms3600 KiB
14Accepted128ms3668 KiB
15Accepted3ms3824 KiB
16Accepted3ms4080 KiB
17Accepted19ms4200 KiB
subtask423/23
18Accepted6ms4984 KiB
19Accepted6ms5000 KiB
20Accepted171ms5156 KiB
21Accepted6ms4700 KiB
subtask539/39
22Accepted3ms4220 KiB
23Accepted12ms9664 KiB
24Accepted6ms4364 KiB
25Accepted6ms4580 KiB
26Accepted3ms4452 KiB
27Accepted6ms4796 KiB
28Accepted6ms4684 KiB
29Accepted18ms15172 KiB
30Accepted4ms4708 KiB
31Accepted68ms5020 KiB
32Accepted3ms4560 KiB