当前位置: 首页 > news >正文

广州番禺网站制作推广农产品网络营销推广方案

广州番禺网站制作推广,农产品网络营销推广方案,网站建设能,网站建设营销口号day6--P1830 城市轰炸--1.26 习题概述 题目背景 一个大小为 nm 的城市遭到了 x 次轰炸,每次都炸了一个每条边都与边界平行的矩形。 题目描述 在轰炸后,有 y 个关键点,指挥官想知道,它们有没有受到过轰炸,如果有&a…

day6--P1830 城市轰炸--1.26

习题概述

题目背景

一个大小为 n×m 的城市遭到了 x 次轰炸,每次都炸了一个每条边都与边界平行的矩形。

题目描述

在轰炸后,有 y 个关键点,指挥官想知道,它们有没有受到过轰炸,如果有,被炸了几次最后一次是第几轮

输入格式

第一行共四个整数,分别为n,m,x,y。

接下来 x 行,每行四个整数 x1​,y1​,x2​,y2​,表示被轰炸的矩形的左上角坐标和右下角坐标 b比如 1,3,7,10   ( 1,3,7,10就表示被轰炸的地方是从(1,3) 到(7,10) 的矩形。)

接下来 y 行,每行两个整数,表示这个关键点的坐标。

输出格式

输出共 y 行,每行第一个字符为 Y 或 N,表示是否被轰炸;若为 Y,在一个空格后为两个整数,表示被炸了几次和最后一次是第几轮。

代码部分

#include<bits/stdc++.h>//令人兴奋的万能头
using namespace std;int n,m,x,y,xx,yy,xxx,yyy,a[101][101],b[101][101]; 
int main()
{//n、m、x、y 表示城市行、列、轰炸次数(被炸的矩形的数量)、关键点数量(需要查询的点的数量) cin>>n>>m>>x>>y;for(int i=1;i<=x;++i){//输入轰炸的左上角坐标和右下角坐标cin>>xx>>yy>>xxx>>yyy;//遍历被轰炸矩形的行坐标,从左上角的行坐标 xx 遍历到右下角的行坐标 xxxfor(int ii=xx;ii<=xxx;++ii)//遍历被轰炸矩形的列坐标,从左上角的列坐标 yy 遍历到右下角的列坐标 yyyfor(int jj=yy;jj<=yyy;++jj){++a[ii][jj]; //把此坐标轰炸的次数加1b[ii][jj]=i; //把值改成最后轰炸的一轮(记录最后一次轰炸发生在第几轮)}}for(int i=1;i<=y;++i)//枚举关键点{cin>>xx>>yy;//输入第i个关键点的坐标if(a[xx][yy]==0)//判断此关键点有没有被炸过cout<<"N\n";else//没炸过输出N//否则输出Y、此关键点被轰炸次数和最后轰炸的一轮cout<<"Y "<<a[xx][yy]<<' '<<b[xx][yy]<<"\n";}return 0;
}

心得体会

1.下面是该小练习的轰炸情况:

2.下面是标注了具体输入输出语句的运行结果:

3.思路如下:

整体思路:是首先根据输入的轰炸信息,记录每个格子被轰炸的次数和最后一次轰炸的轮数。然后根据查询的关键点,判断其是否受到过轰炸,并输出相应的结果。

具体思路

1)从标准输入读取城市的行数 n、列数 m、轰炸次数 x 和关键点数量 y

2)使用循环,依次处理每次轰炸的矩形区域。

   (1)从标准输入读取被轰炸矩形的左上角坐标 (xx, yy) 和右下角坐标 (xxx, yyy)

   (2)使用嵌套循环遍历被轰炸矩形区域内的每个格子

   (3)在每个格子上,将数组 a 中对应位置的值增加1,表示该位置被轰炸的次数。

   (4)将数组 b 中对应位置的值设置为当前轰炸的轮数。

3)使用循环,依次处理每个关键点的查询。

   (1)如果关键点在数组 a 中对应位置的值不为0,则输出 "Y",后面跟着被轰炸的次数和最后一 次轰炸的轮数。

   (2)检查关键点在数组 a 中对应位置的值,如果为0,则输出 "N",表示该关键点未受到轰炸。     (3)从标准输入读取关键点的坐标 (xx, yy)

4)输出结果到标准输出。

4.拿到题后观察输入输出的示例其实很重要,从中可以梳理出大致的程序结构。

5.附带批注具体的文字的代码

#include<bits/stdc++.h>//令人兴奋的万能头
using namespace std;int n,m,x,y,xx,yy,xxx,yyy,a[101][101],b[101][101]; 
int main()
{
//n、m、x、y 表示城市行、列、轰炸次数(被炸的矩形的数量)、关键点数量(需要查询的点的数量) cout << "请输入城市的行数、列数、轰炸次数和关键点数量:";cin>>n>>m>>x>>y;cout << "请依次输入每次轰炸的矩形区域信息!" << endl;for(int i=1;i<=x;++i){//输入轰炸的左上角坐标和右下角坐标cout << "输入第 " << i << " 次轰炸的左上角坐标和右下角坐标:";cin>>xx>>yy>>xxx>>yyy;//遍历被轰炸矩形的行坐标,从左上角的行坐标 xx 遍历到右下角的行坐标 xxxfor(int ii=xx;ii<=xxx;++ii)//遍历被轰炸矩形的列坐标,从左上角的列坐标 yy 遍历到右下角的列坐标 yyyfor(int jj=yy;jj<=yyy;++jj){++a[ii][jj]; //把此坐标轰炸的次数加1b[ii][jj]=i; //把值改成最后轰炸的一轮(记录最后一次轰炸发生在第几轮)}}cout << "请依次输入每个关键点的坐标!" << endl;for(int i=1;i<=y;++i)//枚举关键点{cout << "输入第 " << i << " 个关键点的坐标:";cin>>xx>>yy;//输入第i个关键点的坐标if(a[xx][yy]==0)//判断此关键点有没有被炸过cout<<"N 关键点未受到轰炸";//没炸过输出Nelse//否则输出Y、此关键点被轰炸次数和最后轰炸的一轮cout<<"Y 关键点受到轰炸"<<",被轰炸次数为"<<a[xx][yy]<< ",最后一次轰炸的轮数为 " <<b[xx][yy]<<"\n";}return 0;
}

http://www.dt0577.cn/news/39175.html

相关文章:

  • 网络营销课程总结1500字网络推广优化平台
  • 长春网站建设索q479185700大庆黄页查询电话
  • 哪个网站做logo赚钱百度服务
  • 用net语言做网站平台好不好创意营销新点子
  • cms网站建设实训报告域名注册官网免费
  • flash网站怎么做2022年关键词排名
  • 找做网站的上什么app合肥网络推广有限公司
  • 长春制作门户网站的公司阿拉善盟seo
  • 在线表单 wordpress深圳百度关键字优化
  • 一个虚拟空间可以做两个网站吗网站设计与制作毕业论文范文
  • 做校园文化的网站百度知道app
  • 怎么做属于自己的免费网站网络培训平台
  • 网站版本功能列表怎么做app推广代理
  • 做网站建设需要做哪些工作怎么自己创建网页
  • 专业做室内设计的网站有哪些seo推广软件排行榜前十名
  • 莱西做网站seo顾问服务 品达优化
  • 网站制作 呼和浩特谷歌排名网站优化
  • 2012服务器如何做网站2022拉新推广平台
  • 博兴网站建设百度网址大全官网旧版
  • 淘宝网站c 设计怎么做的2021年重大新闻事件
  • 在线做logo的网站百度seo排名优化公司哪家强
  • 重庆疫情最新情况最新消息seo优化对网店的推广的作用为
  • 找谁做公司网站搜索引擎国外
  • wordpress页面布局插件seo免费诊断
  • 网站管理系统制作网络营销做得好的公司
  • 外贸营销文案网页优化方案
  • 做会员卡的网站在线制作b2b网站有哪些
  • 建网站 铸品牌 做推广中国网络营销公司排名
  • 工业设计网站象关键词是网站seo的核心工作
  • 机械类外贸网站建设一键清理加速