RT,RE了8个点。使用了浑身解数:register
unsigned
缩小数组
使用循环前置++i
快读
不说了,救救我吧
#include<bits/stdc++.h>
using namespace std;
inline int read(){
int x=0;
int f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-') f=-1;
ch=getchar();
}
while(ch<='9'&&ch>='0'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
int main(){
register int m,n,map[55][55];
memset(map,0,sizeof(map));
n=read();
m=read();
for(unsigned i=1;i<=m;++i){
register int x1,y1,x2,y2;
x1=read();y1=read();x2=read();y2=read();
for(unsigned j=x1;j<=x2;++j){//从左上角横坐标开始,到右下角横坐标结束,代表每一行
for(unsigned k=y1;k<=y2;++k){
map[j][k]++;//大任务:输出每一行;小任务:输出每一行的每一个字符
}
}
}
for(unsigned i=1;i<=n;++i){
for(unsigned j=1;j<=n;++j){
if(j==n){
printf("%d",map[i][j]);
printf("\n");
}
else{
printf("%d",map[i][j]);
printf(" ");
}
}
}
return 0;
}