105222024-04-04 15:38:24111Egy trikolór mesterműcpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1864 KiB
2Elfogadva3ms2020 KiB
subtask217/17
3Elfogadva3ms2232 KiB
4Elfogadva3ms2444 KiB
5Elfogadva3ms2672 KiB
6Elfogadva3ms2892 KiB
7Elfogadva3ms3104 KiB
8Elfogadva3ms3088 KiB
9Elfogadva3ms3212 KiB
10Elfogadva3ms3292 KiB
11Elfogadva3ms3356 KiB
12Elfogadva3ms3360 KiB
subtask321/21
13Elfogadva6ms3600 KiB
14Elfogadva128ms3668 KiB
15Elfogadva3ms3824 KiB
16Elfogadva3ms4080 KiB
17Elfogadva19ms4200 KiB
subtask423/23
18Elfogadva6ms4984 KiB
19Elfogadva6ms5000 KiB
20Elfogadva171ms5156 KiB
21Elfogadva6ms4700 KiB
subtask539/39
22Elfogadva3ms4220 KiB
23Elfogadva12ms9664 KiB
24Elfogadva6ms4364 KiB
25Elfogadva6ms4580 KiB
26Elfogadva3ms4452 KiB
27Elfogadva6ms4796 KiB
28Elfogadva6ms4684 KiB
29Elfogadva18ms15172 KiB
30Elfogadva4ms4708 KiB
31Elfogadva68ms5020 KiB
32Elfogadva3ms4560 KiB