首页 > 其他分享 >洛谷:P1789 【Mc生存】插火把

洛谷:P1789 【Mc生存】插火把

时间:2022-11-19 21:33:33浏览次数:47  
标签:洛谷 struct Mc int d% P1789 flag && huobaye

 

 

 

 代码:

#include<stdio.h>

struct huobaye{
    int x;
    int y;
};

struct stoneye{
    int x;
    int y;
};

int abs(int n)
{
    int flag;
    if(n>=0)
    flag=n;
    else
        flag = -1*n;
    return flag;
}

int main()
{

    int i,j,n,m,k;
    scanf("%d%d%d",&n,&m,&k);
    //25 5
    struct huobaye huoba[25];
    struct stoneye stone[5];
    //int a,b;
    for(i=1;i<=m;i++)
    {
        scanf("%d%d",&huoba[i].x,&huoba[i].y);
    }
    if(k>=1)
    {
        for(i=1;i<=k;i++)
        {
            scanf("%d%d",&stone[i].x,&stone[i].y);
        }
    }
    int location[101][101]={0};
    int dx[] = {-2,-1,1,2};
    int dy[] = {2,1,-1,-2};
    int dz[]={-1,1,1,1,-1,-1,1,-1};
    int djs;
    int q,p;
    for(i=1;i<=m;i++)
    {
        q = huoba[i].x;
        p = huoba[i].y;
        djs=1;
        while(djs)
        {
            for(j=0;j<4;j++)
            {
                if(p+dx[j]>0 && p+dx[j]<=n)
                {
                    location[q][p+dx[j]]=1;
                }
                if(q+dy[j]>0 && q+dy[j]<=n)
                {
                    location[q+dy[j]][p]=1;
                }
            }
            for(j=0;j<8;)
            {
                if((q+dz[j]>0&&q+dz[j]<=n)&&(p+dz[j+1]>0&&p+dz[j+1]<=n))
                    location[q+dz[j]][p+dz[j+1]]=1;

                j+=2;
            }
            djs--;
        }
        location[q][p]=1;
    }
    int s,t;
    if(k>=1)
    {
        for(i=1;i<=k;i++)
        {
            q = stone[i].x;
            p = stone[i].y;
            for(s=1;s<=n;s++)
                for(t=1;t<=n;t++)
            {
                 if(abs(s-q)<=2&&abs(t-p)<=2)
                    location[s][t]=1;
            }
            location[q][p]=1;
        }
    }
    int count=0;
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
    {
        if(location[i][j]==0)
            count++;
    }
    printf("%d",count);
    return 0;
}

  同样使用了位置数组

标签:洛谷,struct,Mc,int,d%,P1789,flag,&&,huobaye
From: https://www.cnblogs.com/kmxojer/p/16907268.html

相关文章

  • 洛谷P3917 异或序列
     题意:给出一个大小为n的序列a[n],求∑1≤i≤j≤n Ai​⨁Ai+1​⨁⋯⨁Aj的值​分析:根据异或的性质我们很容易想到一个O(n*n)的做法,即进行一个异或前缀和。......
  • Tomcat_关闭、部署项目的方式
    Tomcat_关闭关闭: 1.正常关闭:bin/shutdown.batctrl+c 2.强制关闭:点击启动窗口的× Tomcat_部署项目的方式配置:部署项目的方......
  • Tomcat_安装&卸载&启动、启动问题分析
    Tomcat_安装&卸载&启动  Tomcat:web服务器软 1.下载:http://tomcat.apache.org/ 2.安装:解压压缩包即可。 注意:安装目录建议不要有中文和空......
  • 使用 vlmcsd 部署 KMS 服务器
     一、前言:vlmcsd就是一个仿真KMS管理工具,可以部署在内网或者公网可以运行在Linux、Windows等系统平台上。 由于WindowsVL都是为批量激活而诞生,KMS服务器的作用......
  • DEBUG远程tomcat
     一、在windows系统中:打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行:setCATALINA_OPTS=-server-Xdebug-Xnoagent-Djava.compiler=NONE-Xrunjdwp:transport......
  • question(The hierarchy of the type MyServlet is inconsistent)——解决tomcat重新添
    在保存代码时突然出现类似于tomcat不能正常使用的警告弹窗,在eclipse中删除tomcat依赖之后,按照以下步骤先在eclipse添加依赖1.eclipse项目中添加tomcat依赖window=》prefe......
  • TomcatCVE-2020-1938
    影响版本:ApacheTomcat9.x<9.0.31ApacheTomcat8.x<8.5.51ApacheTomcat7.x<7.0.100ApacheTomcat6.x 环境搭建docker-composebuilddocker-composeup......
  • esp32用mcpwm驱动电机
    ESP32学习导航帖目录​​前言​​​​目录​​​​配置​​​​操作​​​​例程1​​​​例程1解析​​本篇为乐鑫官方文档,地址:​​MotorControlPulseWidthModulator(......
  • Tomcat部署项目的4种方式
    初学java,在腾讯课堂找的免费教程。以下内容为跟随课堂老师练习之后做的笔记: 1. 直接部署新建一个本地目录hellotest,在目录中新建一个HTML文件,命名为hello.html,将目录......
  • 【洛谷 P4525】 【模板】自适应辛普森法 1
    自适应辛普森法,用于求定积分。原理是不断二分区间直到区间的积分和二次函数的积分拟合程度足够高,然后用二次函数的积分值来代替原积分值。#include<bits/stdc++.h>#def......