求助,20分

P3397 地毯

WRTLEO2 @ 2020-04-27 22:57:00

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;
} 

by twelveZ @ 2020-04-27 22:59:41

@WRTLEO2 您数组小了


by Custlo0793 @ 2020-04-27 23:00:38

应该用一维比较吧


by andyli @ 2020-04-27 23:06:54

。。。又不是 TLE


by hanzhongtlx @ 2020-04-27 23:23:10

re还缩小数组啊,


by Adhara @ 2020-04-27 23:43:46

RE 按照 TLE 处理可还行。


by WRTLEO2 @ 2020-04-28 08:46:17

@Adhara 其实您细分还是有差别的


by WRTLEO2 @ 2020-04-28 08:53:40

感谢各位大佬,蒟蒻调了一晚上+早晨调出来了


|