Codeforces 1293A - ConneR and the A.R.C. Markland-N
题目大意:
ConneR老师想吃东西,他现在在大楼的第s层,大楼总共有n层,但是其中有k层的餐厅关门了。
然后给了这k层关门的餐厅分别所在的楼层。
所以问ConneR老师最少得往上(或者往下)走几层楼,才能到最近的还开门的餐厅就餐?
解题思路1:
对于关闭的k层,存在数组a里排序。(放在1~k的位置)
先循环一遍数组a,看看s层是否存在于a数组里,如果不存在,直接输出0作为答案。
如果存在,开始找答案楼层。
数组a第0的位置赋值0,第k+1的位置赋值n+1。(后面的思路计算中有需要)
然后i从0开始循环到k,每次判断a[i+1]-a[i]是否大于1。
如果大于1,说明a[i+1]与a[i]之间存在着开放的楼层可以成为目的地。
可以取a[i]+1和a[i+1]-1两个楼层进行判断。(因为s层此时是存在于数组a内的,所以最佳答案楼层一定是相邻于某个元素的,不想写那么多判断条件的话直接无脑判断这两个楼层好了,小贪心一下)
最后输出最优解即可。
#include<bits/stdc++.h>
using namespace std;
int a[];
void solve(){
int n,s,k,d,i,p,ans;
cin>>n>>s>>k;
for(i=;i<=k;i++)
cin>>a[i];
sort(a+,a++k);
a[]=;
a[k+]=n+;
ans=;
bool flag=true;
for(i=;i<=k;i++){
if(a[i]==s||a[i+]==s)
flag=false;
if(a[i+]-a[i]>){
ans=min(ans,abs(s-a[i+]+));
ans=min(ans,abs(s-a[i]-));
}
}
if(flag)
ans=;
cout<<ans<<endl;
}
int main(){
int T;
cin>>T;
while(T--)
solve(); return ;
}
解题思路2:
同样的,排序后先循环一遍数组a,看看s层是否存在于a数组里,如果不存在,直接输出0作为答案。
如果存在,因为只有连续的几层楼相邻关闭的时候才会使答案增大。
所以从s层开始,向上向下都搜一遍最少走几层能到a[i+1]-a[i]大于1的楼层。(即这两层楼之间一定有楼层是开放的)
#include<bits/stdc++.h>
using namespace std;
int a[];
void solve(){
int n,s,k,i,p,sp,ans;
cin>>n>>s>>k;
bool flag=true;
for(i=;i<=k;i++){
cin>>a[i];
if(a[i]==s)
flag=false;
}
if(flag){
cout<<<<endl;
return;
}
sort(a+,a+k+);
sp=find(a+,a++k,s)-a;
a[]=;
a[k+]=n+;
ans=;
for(i=sp;i<=k;i++)
if(a[i+]-a[i]>){
ans=min(ans,a[i]+-s);
break;
}
for(i=sp;i;i--)
if(a[i]-a[i-]>){
ans=min(ans,s-(a[i]-));
break;
}
cout<<ans<<endl;
}
int main(){
ios::sync_with_stdio();
cin.tie();cout.tie();
int T;
cin>>T;
while(T--)
solve(); return ;
}
Codeforces 1293A - ConneR and the A.R.C. Markland-N的更多相关文章
- Codeforces Round #614 (Div. 2) A-E简要题解
链接:https://codeforces.com/contest/1293 A. ConneR and the A.R.C. Markland-N 题意:略 思路:上下枚举1000次扫一遍,比较一下 ...
- 贪心 CodeForces 124B Permutations
题目传送门 /* 贪心:全排列函数使用,更新最值 */ #include <cstdio> #include <algorithm> #include <cstring& ...
- Codeforces #614 div.2 (A-E)
A ConneR and the A.R.C. Markland-N #include <bits/stdc++.h> using namespace std; #define ll l ...
- [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
- 利用python进行数据分析2_数据采集与操作
txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ...
- Django项目:CRM(客户关系管理系统)--81--71PerfectCRM实现CRM项目首页
{#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.h ...
- 计算a^b==a+b在(l,r)的对数Codeforces Round #597 (Div. 2)
题:https://codeforces.com/contest/1245/problem/F 分析:转化为:求区间内满足a&b==0的对数(解释见代码) ///求满足a&b==0在区 ...
- Codeforces Round #333 (Div. 1) C. Kleofáš and the n-thlon 树状数组优化dp
C. Kleofáš and the n-thlon Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contes ...
- Codeforces Round #377 (Div. 2) A. Buy a Shovel【暴力/口袋里面有无限枚 10 元和一枚 r 面值的硬币,问最少可以买多少把价值为 k 的铁铲】
A. Buy a Shovel time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
随机推荐
- 资源的合并与压缩-html压缩
资源的合并:减少http请求数量 资源的压缩:减少请求资源的大小 html压缩 html代码压缩就是压缩这些在文本文件中有意义,但是在html中不显示的字符,包括空格,制表符,换行符等,还有一些其他意 ...
- 如何把控好Essay写作结构
留学生在国内写过作文,但是对于essay写作到底了解多少呢?大家觉得essay写作太难是语言问题,但是大家要明白,老师对于内容的考察远重于对语言的考察.同学们的essay写作如果能做到言之有理,自圆其 ...
- 用matplotlib统计数据并画图
用jupyter来统计数据,画出柱状图 import numpy as np import pandas as pd import matplotlib.pyplot as plt import ma ...
- Mybatis 持久化,持久层
持久化 持久化是将程序数据在持久状态和瞬时状态间转换的机制. 即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘).持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中.X ...
- React之Redux知识点补充
一. reducer纯函数方便自动化测试 二.
- [tensorflow] 线性回归模型实现
在这一篇博客中大概讲一下用tensorflow如何实现一个简单的线性回归模型,其中就可能涉及到一些tensorflow的基本概念和操作,然后因为我只是入门了点tensorflow,所以我只能对部分代码 ...
- CTF - bugku-分析
1.flag被盗 下载链接是.pcang文件 用wireshark打开 像这种流量分析题目,就要用Wireshark自带的搜索功能找尝试查找一些关键词(比如key.flag.shell.pass等) ...
- JavaScript之递归
什么是递归? 程序调用自身的编程技巧称为递归( recursion).递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量 . 递归的能力在于用有限的语句来定义对象的 ...
- Windows如何设置指定的IP走专线?
很多时候在工作中难免有多重网络环境的情况,为了方便之间的互访,可能会用的VPN等虚拟专线,作为网络管理员,route命令是必会的基础技能. 我们一般连接到专线vpn以后,默认会启用远程网关,这样我们所 ...
- VMware DRS部分知识点
主机添加到集群中,不需要维护模式(有虚拟机开机状态时也可以添加进去). 主机从集群中移除,需要主机进入维护模式. HA和DRS 全自动 当设置虚拟机必须在主机上时 DRS优先级大于HA 就算主机挂了H ...