Submission

Status:
--------P-

Score: 10

User: MisterO

Problemset: G.Peach's Backpack

Language: cpp

Time: 0.807 second

Submitted On: 2024-10-14 11:47:00

#include<bits/stdc++.h>
using namespace std;

char board[1010][1010];

bool valid(int i, int j, int a, int b){
	for(int x=i;x<i+a;x++){
		for(int y=j;y<j+b;y++){
			if(board[x][y] != '.'){
				return 0;
			}
		}
	}
	return 1;
}

int main(){
	ios_base::sync_with_stdio(0); cin.tie(0);
	int N, M;
	cin>>M>>N;
	for(int i=1;i<=N;i++){
		for(int j=1;j<=M;j++){
			board[i][j] = '.';
		}
	}
	int n, ind=0; cin>>n;
	for(int idx=1;idx<=n;idx++){
		int x, y, st;
		cin>>y>>x>>st;
		bool f = 0;
		for(int J=N;J>0;J--){
			if(J+x-1<=N&&st+y-1<=M&&valid(J,st,x,y)){
//				cout<<"Valid "<<idx<<'\n';
				f = 1;
				for(int a=J;a<J+x;a++){
					for(int b=st;b<st+y;b++){
						board[a][b] = 'A'+(ind++)%26;
					}
				}
//				for(int i=1;i<=N;i++){
//					for(int j=1;j<=M;j++){
//						cout<<board[i][j]<<' ';
//					}
//					cout<<'\n';
//				}
				break;
			}
		}
		if(!f){
			cout<<idx<<' ';
		}
	}
	cout<<'\n';
	for(int i=1;i<=N;i++){
		for(int j=1;j<=M;j++){
			cout<<board[i][j]<<' ';
		}
		cout<<'\n';
	}
}