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

USACO历年黄金组真题解析 | 2007年10月

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总贴:USACO历年黄金组真题解析 | 汇总


P6200 Super Paintball

【题目来源】

洛谷:[P6200 USACO07OCT] Super Paintball G - 洛谷

【题目描述】

奶牛们最近从玩具商那里,买来了一套仿真版彩弹游戏设备(类似于真人 CS)。Bessie 把她们玩游戏的草坪划分成了 \(N \times N\) 的矩阵(\(1 \leq N \leq 100\)),同时他算出了她的 \(K\) 个对手在草地上的位置(\(1 \leq K \leq 10^5\)),现在你需要帮 Bessie 算些东西。

在这个游戏中,奶牛们用一把枪向八个方向中的任意一个方向射出子弹,这八个方向分别是:正北,正南,正东,正西,东北,东南,西北,西南(东北指北偏东 \(45^\circ\),东南,西北,西南同理)。

Bessie 想要你算出,有多少个位置可以让她射到所有对手。特别地,Bessie 可以和她的某一个对手站在同一格子,这时候她可以射到和她同一格子的对手。

【输入】

第一行两个整数 \(N, K\)

接下来 \(K\) 行,每行两个整数 \(R_i, C_i\),表示第 \(i\) 头奶牛在第 \(R_i\) 行第 \(C_i\) 列。可能有两个奶牛在同一位置上。

【输出】

输出 Bessie 可以选择的格子数目。

【输入样例】

4 3
2 1
2 3
4 1

【输出样例】

5

【解题思路】

在这里插入图片描述

【算法标签】

《洛谷 P6200 Super Paintball》 #USACO# #2007#

【代码详解】

#include <bits/stdc++.h>
using namespace std;
int n, k, a[105][105], ans=0;
int main()
{cin >> n >> k;  // 输入n和kfor (int i=1; i<=k; i++) {  // 输入k个对手位置int x, y;cin >> x >> y;a[x][y] = 1;  // 每个位置标记为1}for (int i=1; i<=n; i++) {  // 遍历N*N矩阵for (int j=1; j<=n; j++) {int cnt = 0;if (a[i][j]==1) cnt++;  // 如果站在对手的格子上,统计值加1for (int k=1; k<=n; k++) {  // 向左扫描if (j-k>=1 && a[i][j-k]==1 ) cnt++;}for (int k=1; k<=n; k++) {  // 向右扫描if (j+k<=n && a[i][j+k]==1) cnt++;}   for (int k=1; k<=n; k++) {  // 向上扫描if (i-k>=1 && a[i-k][j]==1) cnt++;}for (int k=1; k<=n; k++) {  // 向下扫描if (i+k<=n && a[i+k][j]==1) cnt++;}for (int k=1; k<=n; k++) {  // 向左上扫描if (i-k>=1 && j-k>=1 && a[i-k][j-k]==1) cnt++;}for (int k=1; k<=n; k++) {  // 向右下扫描if (i+k<=n && j+k<=n && a[i+k][j+k]==1) cnt++;}for (int k=1; k<=n; k++) {  // 向左下扫描if (i+k<=n && j-k>=1 && a[i+k][j-k]==1) cnt++;}for (int k=1; k<=n; k++) {  // 向右上扫描if (i-k>=1 && j+k<=n && a[i-k][j+k]==1) cnt++;}if (cnt==k) {  // 如果统计值为k,说明所有对手都可以给射到ans++;  // 位置数加1}}}cout << ans << endl;  // 输出位置数return 0;
}

【运行结果】

4 3
2 1
2 3
4 1
5
http://www.jsqmd.com/news/358821/

相关文章:

  • 基于扩展卡尔曼滤波的车辆状态估计
  • 2026年2月酒泉租车公司电话推荐:酒泉豪车租车、酒泉包车、酒泉皮卡出租、酒泉商务车出租、酒泉商务车租赁、酒泉旅游包车、酒泉嘉合兴汽车租赁、酒泉旅游租车、酒泉包车便捷出行服务优选 - 海棠依旧大
  • python celery库,深度解析
  • 量子力学-测量
  • 深入解析:Leetcode 30
  • 基于FOC、SMO与PLL融合技术的Simlink仿真模型研究
  • Spring Boot与MyBatis - 详解
  • 北京高端老酒回收首选,京城亚南一站式上门服务覆盖全城 - 品牌排行榜单
  • 2026年酒泉汽车租赁服务商TOP5推荐:酒泉大巴出租、酒泉自驾租车、酒泉接待用车、酒泉婚庆租车、酒泉汽车租赁、酒泉租车平台、酒泉私家车出租、适配各类出行场景的务实之选 - 海棠依旧大
  • 告别 plist 制作繁琐咕噜分发在线工具iOS 开发一键搞定Plist文件生成
  • 深度测评:软件选型决策工具,是导航仪还是新迷宫?
  • 零基础入门 RabbitMQ:从消息队列是什么到 Spring Boot 实战收发消息
  • 微服务负载均衡
  • 面试-Torch函数
  • 2025 AI 变局:大模型“退烧”,Agent“上位” —— 深度复盘 DeepSeek、GPT-4o 与 Llama 3 的三国杀
  • 升鲜宝生鲜配送供应链管理系统 仓储式收银系统(多公司多门店 POS+会员+钱包+权益+门店WMS+库存成本+离线同步)
  • PostgreSQL 性能优化: I/O 瓶颈分析,以及如何提高数据库的 I/O 性能?
  • AI取代人工?别傻了,真正的危机是“超级个体”正在吞噬“平庸团队” —— 深度解析人机协作新范式
  • 《程序员修炼之道》——从小工到专家的习惯养成
  • 常用的 PNG 转 JPG 在线网站整理(无需安装,直接使用)
  • 【2 月小记】Part 3: CROI-R3 比赛总结 - L
  • 国内科研必备:16个Google和谷歌学术镜像站,2026最新更新
  • 集成灶的噪音大不大?揭秘静音真相+选购攻略|厨房宁静指南 - 匠言榜单
  • yolo姿态估计的板端算力占用评估
  • 如何选择合适的IP查询工具?精准度与更新频率全面分析
  • QMdiArea多窗口管理容器。官方demo,搜素mdi。复制,剪切,粘贴
  • QMimeData 是 Qt 中数据交换的标准化载体。粘贴复制,跨应用的标准格式。也能自定义数据类型
  • 2026年我会推荐哪些IP归属地查询网站?
  • 《梦断代码》——软件项目的理想与现实
  • 《人月神话》中的项目管理陷阱与启示