求助求助!1-4AC 5-10TLE
查看原帖
求助求助!1-4AC 5-10TLE
961972
Lele_Programmer楼主2023/3/29 19:18

我的代码是这样的:

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

int main() {
	int n,m;
	vector<vector<int> > v;
	scanf("%d %d",&n,&m);
	int c=1;
	for (int i=0;i<n;++i) {
		vector<int> nv;
		for (int j=0;j<n;++j) {
			nv.push_back(c);
			++c;
		}
		v.push_back(nv);
	}
	int x,y,r,z;
	for (int i=0;i<m;++i) {
		scanf("%d %d %d %d",&x,&y,&r,&z);
		x--;y--;
		for (int j=0;j<r;++j) {
			vector<vector<int> > v2=v;
			if (z==0) {
				int r1=x-r+j,c1=y-r+j,r1s=0,c1s=1;
				int r2=x-r+j,c2=y+r-j,r2s=1,c2s=0;
				for (int p=0;p<(r-j)*8;++p) {
					v[r2][c2]=v2[r1][c1];
					if (p==(r-j)*2) {
						r1s=1;c1s=0;r2s=0;c2s=-1;
					} else if (p==(r-j)*4) {
						r1s=0;c1s=-1;r2s=-1;c2s=0;
					} else if (p==(r-j)*6) {
						r1s=-1;c1s=0;r2s=0;c2s=1;
					}
					r1+=r1s;c1+=c1s;r2+=r2s;c2+=c2s;
				}
			} else {
				int r1=x-r+j,c1=y-r+j,r1s=1,c1s=0;
				int r2=x-r+j,c2=y+r-j,r2s=0,c2s=-1;
				for (int p=0;p<(r-j)*8;++p) {
					v[r1][c1]=v2[r2][c2];
					if (p==(r-j)*2) {
						r1s=0;c1s=1;r2s=1;c2s=0;
					} else if (p==(r-j)*4) {
						r1s=-1;c1s=0;r2s=0;c2s=1;
					} else if (p==(r-j)*6) {
						r1s=0;c1s=-1;r2s=-1;c2s=0;
					}
					r1+=r1s;c1+=c1s;r2+=r2s;c2+=c2s;
				}
			}
		}
	}
	for (int i=0;i<n;++i) {
		for (int j=0;j<n;++j) {
			printf("%d ",v[i][j]);
		}
		printf("\n");
	}
	return 0;
}

但是为什么会TLE呢??

2023/3/29 19:18
加载中...