第18次csp认证 201912-2 回收站选址(C++)

题目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分析

  • 每一个垃圾堆放处都可能是回收站,所以两轮循环,找出所有可以成为回收站的坐标。
  • 再两轮循环,确定所有回收站的得分
  • 最后输出每种得分的回收站个数

AC代码

#include <iostream>
#include<string>
using namespace std;
struct node
{int x,y,flag,count;
};
int count[5];
int main()
{int i,j,n;cin>>n;node a[n];for(i=0; i<n; i++){cin>>a[i].x>>a[i].y;a[i].flag=0;a[i].count=0;}
//确定回收站for(i=0; i<n; i++){for(j=0; j<n; j++){if(i!=j){if(a[i].x==a[j].x)//上下是否有垃圾堆{if(a[i].y==a[j].y-1||a[i].y==a[j].y+1)a[i].flag++;}else if(a[i].y==a[j].y)//左右是否有垃圾堆{if(a[i].x==a[j].x-1||a[i].x==a[j].x+1)a[i].flag++;}else{}}}}//确定回收站评分for(i=0; i<n; i++){for(j=0; a[i].flag==4&&j<n; j++){if(i!=j){if(a[i].x==a[j].x+1)//左上左下{if(a[i].y==a[j].y-1||a[i].y==a[j].y+1)a[i].count++;}else if(a[i].x==a[j].x-1)//右上右下{if(a[i].y==a[j].y-1||a[i].y==a[j].y+1)a[i].count++;}else{}}}}//统计不同得分的回收站个数for(i=0; i<n; i++){if(a[i].flag==4){if(a[i].count==0){count[0]++;}else if(a[i].count==1){count[1]++;}else if(a[i].count==2){count[2]++;}else if(a[i].count==3){count[3]++;}else{count[4]++;}}}//输出结果for(i=0; i<5; i++){cout<<count[i];if(i!=4)cout<<endl;}return 0;
}

如果您有问题或者其他解题方法,欢迎在评论区留言o

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python——列表中存放字典遇到的问题

Python——列表中存放字典遇到的问题 使用列表、字典之间的相互嵌套可以很容易的实现json数据格式&#xff0c;但是昨天在往列表中装入字典时遇到了问题&#xff1a; 直接使用append方法将字典添加到列表中&#xff0c;如果需要更改字典中的数据&#xff0c;那么列表中的内容也…

pat 乙级 1036 跟奥巴马一起编程(C++)

题目 美国总统奥巴马不仅呼吁所有人都学习编程&#xff0c;甚至以身作则编写代码&#xff0c;成为美国历史上首位编写计算机代码的总统。2014 年底&#xff0c;为庆祝“计算机科学教育周”正式启动&#xff0c;奥巴马编写了很简单的计算机代码&#xff1a;在屏幕上画一个正方形…

Sublime删除所有包含特定值的行

1、选中包含的字符 2、全部选中包含这个字符&#xff1a; ALTF3 3、全选整行&#xff1a; 台式机&#xff1a;Shiftend 笔记本&#xff1a;ShiftFnend 4、删除所有数据&#xff1a; DELETE 5、删除所有空白行&#xff1a; 使用快捷方式直接删除空行&#xff0c;前提是进行如下…

Excel完成将多行多列数据转化为一列

想要把Excel的数据用Word转成一行。那么第一步当然是将excel中的数据先复制下啦&#xff0c;复制好了之后打开word&#xff0c;然后进行粘贴&#xff0c;注意这里要选择“只保留文本”哦。 接下来我们要用鼠标选中每一行的两个数据中间保留的空格&#xff0c;就像小编这样哦…

Kogito,ergo规则—第2部分:规则的全面执行模型

这是第二后 一系列更新的Kogito主动性和我们的努力&#xff0c;使Drools的云。 在这篇文章中&#xff0c;我们将深入研究规则单元的细节&#xff0c;并向您展示为什么我们对它们感到兴奋。 规则的全包执行模型 如果您一直在仔细检查Drools手册&#xff0c;以在每个最新发行版中…

使用Angular,Ionic 4和Spring Boot构建移动应用

朋友不允许朋友写用户身份验证。 厌倦了管理自己的用户&#xff1f; 立即尝试Okta的API和Java SDK。 在几分钟之内即可对任何应用程序中的用户进行身份验证&#xff0c;管理和保护。 我是Ionic的忠实粉丝。 几年前&#xff0c;我基于AngularJS开始使用它。 作为开发人员&#…

1039 到底买不买(pat乙级、C++)

题目 小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串&#xff0c;但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下&#xff0c;某串珠子里是否包含了全部自己想要的珠子&#xff1f;如果是&#xff0c;那么告诉她有多少多余的珠子&#xff1…

使用Selenium Webdriver进行全屏截图

在任何网页测试人员中&#xff0c;执行效果最好的操作之一就是对网页进行截图。 每当测试人员发现并报告错误时&#xff0c;如果不支持该问题的屏幕截图甚至视频&#xff0c;就不会认真对待该错误。 不论您进行的测试类型是什么&#xff0c;包括硒自动化测试&#xff0c;都是如…

c++中 int, long long, double 等数据类型的长度及范围整理

先附上一个比较直观的表&#xff0c;长度表示字节: byte: 字节 bit: 位 1. 短整型short&#xff1a; 所占内存大小&#xff1a;2byte16bit&#xff1b; 所能表示范围&#xff1a;-32768~32767&#xff1b;(即-2^15~2^15-1) 2. 整型int&#xff1a; 所占内存大小&#xff1a;4…

硒等待:内隐,外显,流利和睡眠

Selenium等待页面加载在Selenium脚本中起着重要的作用。 它们有助于使它们不易剥落&#xff0c;更可靠。 Selenium提供多次等待&#xff0c;以根据某些条件在脚本执行中提供足够的等待或暂停。 从而确保您在使用Selenium执行自动化测试时不会导致脚本失败。 在本教程中&#xf…

在win10+Ubuntu双系统下,完美卸载Ubuntu

本文为转载博客&#xff0c;亲测有效 背景 机器&#xff1a;惠普 暗影精灵3 win10与Ubuntu16.04均为UEFI分区 清除ubuntu系统 使用软件&#xff1a;diskgenius   删除Ubuntu系统使用的几个分区&#xff08;包括EFI分区&#xff09;&#xff0c;注意不要删除Windows的EFI分…

在浏览器中在线尝试无服务器框架项目!

无服务器框架是无服务器工具的一致领导者。 但是&#xff0c;没有简单的方法可以在线试用无服务器框架项目。 您确实需要一个体面的开发人员设置&#xff0c;并且需要一些工作来设置sls &#xff0c; npm等。 确切地说&#xff0c;您做到了 –直到现在。 无服务器项目–在您的…

java se/ee_嗨,您好 。 。 ! 您如何评价Java / Java EE技能?

java se/ee要知道&#xff0c;就是要知道你一无所知。 那就是真正知识的含义。 苏格拉底 这篇文章旨在为读者提供Java生态系统及其技术堆栈的快速概述。 老实说&#xff0c;从Java EE 7&#xff0c;Java SE 8到Java Embedded 8…&#xff0c;Java平台进行了许多革命性的更改…

SystemC在Ubuntu16.04上安装测试

使用SystemC进行硬件仿真 环境 linux-x86-64bashg 下载解压SystemC SystemC下载地址 解压下载的包 tar zxvf systemc-2.3.3.tar.gz 进入解压出来的目录&#xff0c;准备编译安装 cd systemc-2.3.3 编译安装 打开安装说明文件INSTALL vim INSTALL 按照步骤安装 Create a tem…

ubuntu16.04下安装ibus拼音

按照网上给的安装方法&#xff0c;没成功&#xff0c;在切换ibus的时候总是报错&#xff0c;记录下解决办法。 安装语言包 System Settings–>Language Support–>Install/Remove Languages 选中chinese&#xff0c;点击Apply应用即可&#xff0c;等待下载安装完成。 …

解决Ubuntu中sublime无法输入中文的问题

主要目的&#xff1a; 安装 Sublime Text 3 安装 Fcitx 输入法 皮肤 修复 Sublime Text 3 在 Ubuntu(Debian) 系统下的无法输入中文(CJK 字符)输入法的问题 注意&#xff1a; 这个修复仅当在终端中使用 subl . 调用 Sublime Text 的时有效, 具体原因请看源代码src/s…

【Ubuntu】Ubuntu16.04安装 搜狗输入法 史上最详细

一、基本配置 开发环境&#xff1a;ubuntu16.04 二、准备工作 下载 搜狗输入法linux版 搜狗输入法官网Linux版 我这里是64位的&#xff0c;所以选择64位 1、拷贝搜狗输入法到ubuntu cp /media/sf_share/6q/sogoupinyin_2.3.1.0112_amd64.deb . 2、安装搜狗输入法 首次安装会报…

使用xshell上传本地文件到服务器

1.查看linux上是否安装rz工具 2&#xff0c;查看安装是否完成&#xff0c;然后上传文件到服务器

Dev-C++ 一直提示源文件未编译,原因及解决办法

原因 编译命令换行&#xff08;可能有的同学和我一样喜欢换行写&#xff09;&#xff0c;导致编译通不过&#xff0c;如果选择编译运行&#xff0c;便会提示"源文件未编译"。 如图 解决办法 这种写法不对&#xff0c;正确如下&#xff08;两个命令间有一个空格&…

for循环简介及实例(输出九九乘法表)

for循环简介 简介 for循环是3大循环其中一种&#xff0c;相比while循环和do while循环&#xff0c;它更加灵活&#xff0c;而且完全包含了while循环的功能&#xff0c;用for语句可以解决编程中所有循环问题。 语法格式 for(语句1;表达式1;表达式2) 语句 //语句1一般用于设置…