首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Bear and Finding Criminals-Codeforces680B

Bear and Finding Criminals-Codeforces680B

作者头像
Cell
发布2022-02-25 14:44:05
发布2022-02-25 14:44:05
1930
举报
文章被收录于专栏:Cell的前端专栏Cell的前端专栏

题目链接:Bear and Finding Criminals

大致题意就是小熊警察住在某个城市,他要抓各个城市的罪犯,现在用一个 BCD 可以知道那个城市里一定有罪犯。

一定能确定该城市有小偷的几种情况:

  1. 警察所住城市有罪犯,则一定能检测到
  2. 警察所住城市的左边和右边位置若不为 0,则说明两座城市都有罪犯(只有一边为 1 是不能确定到底哪个城市有罪犯的)
  3. 警察所在城市的一边检测到有罪犯,但在另一边已经没有城市了,则说明该城市一定有罪犯

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

#include<bits/stdc++.h> using namespace std; int t[107]; int main() { int n, a; while(cin>>n>>a){ int sum = 0; for(int i =1; i <= n; i++) cin >> t[i]; if(t[a]) sum++;//小熊所在城市有罪犯 for(int i = 1; i <= n; i++){ if(a-i > 0&&a+i <= n) { if(t[a-i] == 1&&t[a+i] == 1) sum+=2; } else if(a-i <= 0&&a+i <= n){//警察在第一个点 if(t[a+i]) sum++; } else if(a-i > 0&&a+i > n){ if(t[a-i]) sum++; } } cout <<sum<<endl; } return 0; }

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档