所有的操作都会执行在每一列的最上方(如果有效)

所以可以用m2数组记录每一列砖块最高的位置

每次操作判断这个操作的x是否大于这个操作对应的列的m2

输出的时候根据i是否大于当前列的m2

#include <bits/stdc++.h>

using namespace std;

char map[1010][1010],pd[1010][1010];
int n,m,k,x,y,m2[1010];

int main()
{
	cin >> n >> m >> k;
	while (k--) {
		cin >> x >> y;
		if (x>m2[y]) m2[y]++;
	}
	for (int i=1;i<=n;i++) {
		for (int j=1;j<=m;j++) {
			if (i>m2[j]) cout << '*';
			else cout << '.';
		}
		cout << endl;
	}
	
	return 0;
}