60pts求救
查看原帖
60pts求救
1262962
limingx楼主2025/6/17 13:53
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
long long draw[1001][1001];
long long PIC[1001][1001];
struct picture{
	long long x1,y1,x2,y2,p,xK,yK;
}stick[1001];
long long n,m,c,k,X,Y,t;
int main(){
    #define int long long
	cin>>n>>m>>c>>k;
	for(long long i=1;i<=k;i++){
		cin>>stick[i].x1>>stick[i].y1>>stick[i].x2>>stick[i].y2>>stick[i].p>>stick[i].xK>>stick[i].yK;
	}
	for(int i=1;i<=c;i++){
		for(int j=1;j<=c;j++){
			cin>>PIC[i][j];
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			draw[i][j]=-1;
		}
	}
	for(int i=1;i<=k;i++){
		for(int j=stick[i].x1;j<=stick[i].x2;j++){
			for(int k=stick[i].y1;k<=stick[i].y2;k++){
				X=stick[i].xK+j-stick[i].x1;
				Y=stick[i].yK+k-stick[i].y1;
				t=PIC[X][Y];
				if(stick[i].p>stick[draw[j][k]].p){
					draw[j][k]=t;
				}
				if(draw[j][k]==-1){
					draw[j][k]=t;
				}
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cout<<draw[i][j]<<' ';
		}
		cout<<endl;
	}
	return 0;
}

月赛就没过 试一下longlong还不行 蒟蒻求救

2025/6/17 13:53
加载中...