zoukankan      html  css  js  c++  java
  • Java实现 蓝桥杯 算法提高 矩形靶

    试题 算法提高 矩形靶

    资源限制
    时间限制:1.0s 内存限制:256.0MB
    问题描述
      在矩形的世界里任何事物都是矩形的,矩形的枪靶,甚至矩形的子弹。现在给你一张NM的枪靶,同时告诉你子弹的大小为(2l+1)(2r+1)。读入一张01的图每个点的01状态分别表示这个点是否被子弹的中心击中(1表示被击中,0则没有)一旦一个点被子弹的中心击中,那么以这个点为中心 (2l+1)(2r+1) 范围内靶子上的点都会被击毁。要求输出最终靶子的状态。
    输入格式
      第一行为N,M,L,R表示靶子的大小,以及子弹的大小。
      下面读入一个N
    M的01矩阵表示每个点是否被子弹的中心击中
    输出格式
      N*M的01矩阵表示靶子上的每个点是否被破坏掉
    样例输入
    4 4 1 1
    1000
    0000
    0000
    0010
    样例输出
    1100
    1100
    0111
    0111
    样例输入
    7 4 1 1
    1000
    0000
    0010

    0000
    0000
    0000
    0100
    样例输出
    1100
    1111
    0111
    0111
    0000
    1110
    1110
    数据规模和约定
      N,M<=600,l,r<=5

    package com.company;
    
    import java.util.Scanner;
    
    public class 矩形靶 {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            int m = sc.nextInt();
            int l = sc.nextInt();
            int r = sc.nextInt();
            char [][] str = new char[n][m];
            char[][] a = new char[n][m];
            for (int i=0;i<n;i++){
                String s = sc.nextLine();
                if (s.equals("")){
                    s=sc.nextLine();
                }
                str[i]=s.toCharArray();
                a[i]=s.toCharArray();
    }
            sc.close();
     
            for (int i=0;i<n;i++){ 
                for (int j=0;j<m;j++){
            
                    if (str[i][j]=='1'){
                        for (int i1=i-l<0?0:i-l;i1<=i+l&&i1<n;i1++){
                            for (int j1=j-r<0?0:j-r;j1<=j+r&&j1<m;j1++){
                                a[i1][j1]='1';
                            }
                        }
                    }
                }
            }
            for (int i=0;i<n;i++){
                for (int j=0;j<m;j++){
                    System.out.print(a[i][j]);
                }
                System.out.println();
            }
        }
    }
    
    
  • 相关阅读:
    编程题目----约德尔测试
    编程题目----路灯
    java----java垃圾回收算法
    JAVA多线程和并发基础面试问答(转载)
    科学史上非常伟大的十位单身科学家
    MySQL----mysql57服务突然不见了的,解决方法
    linux:644、755、777权限详解
    Java 关键字 速查表
    java----鲁棒性
    习题----第六章 图(转)
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076403.html
Copyright © 2011-2022 走看看