1 条题解

  • 0
    @ 2024-12-24 9:54:33

    C++ :

    #include <cstdio>
    
    int d , n , x , y , k ;
    int g[130][130] = {0} ;
    int ans = -1 , cnt = 0 ;
    
    int xl , xr , yl , yr , i , j ;
    void draw() {
    	xl = x-d ; if (xl < 0) xl = 0 ;
    	xr = x+d ; if (xr > 128) xr = 128 ;
    	yl = y-d ; if (yl < 0) yl = 0 ;
    	yr = y+d ; if (yr > 128) yr = 128 ;
    	for (i = xl ; i <= xr ; i ++ )
    		for (j = yl ; j <= yr ; j ++ )
    			g[i][j] += k ;
    }
    
    int main() {
    //	    freopen("wireless.in" ,"r",stdin ) ;
    //	    freopen("wireless.out","w",stdout) ;
    	int p ;
    	scanf("%d%d", &d , &n ) ;
    	for (p = 0 ; p < n ; p ++ ) {
    		scanf("%d%d%d", &x , &y , &k ) ;
    		draw() ;
    	}
    	for (i = 0 ; i <= 128 ; i ++ ) {
    		for (j = 0 ; j <= 128 ; j ++ ) {
    			if (g[i][j] > ans) {
    				ans = g[i][j] ; cnt = 1 ;
    			} else if (g[i][j] == ans) cnt ++ ;
    		}
    	}
    	printf("%d %d\n", cnt , ans ) ;
    	    fclose(stdin ) ; fclose(stdout) ;
    	return 0 ;
    }
    
    • 1

    信息

    ID
    1231
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者