Submission
Status:
--------P-
Score: 10
User: MisterO
Problemset: G.Peach's Backpack
Language: cpp
Time: 0.781 second
Submitted On: 2024-10-14 11:46:48
#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';
}
}