首页 > 其他分享 >北美竞赛-加拿大计算机竞赛CCC-收获滑铁卢

北美竞赛-加拿大计算机竞赛CCC-收获滑铁卢

时间:2024-11-17 11:18:06浏览次数:1  
标签:10 竞赛 int 矩阵 样例 方格 滑铁卢 南瓜 CCC

 

给定一个 R×CR×C 的方格矩阵。

矩阵左上角方格坐标为 (0,0)(0,0),右下角方格坐标为 (R−1,C−1)(R−1,C−1)。

每个方格中要么有南瓜,要么有干草。

南瓜分为大、中、小三种。

初始时,一个农民位于方格 (A,B)(A,B)。

他可以朝上下左右四个方向自由移动,但是他不能走出矩阵,也不能走进有干草的方格。

他每走进一个方格就可以将方格内的南瓜收走。

每个小南瓜价值 11 元,每个中南瓜价值 55 元,每个大南瓜价值 1010 元。

请你计算,他可以收获的全部南瓜的总价值。

保证农名的初始位置有南瓜。

输入格式

第一行包含整数 RR。

第二行包含整数 CC。

接下来 RR 行,每行 CC 个字符,表示方格矩阵的具体分布。其中,大南瓜用 L 表示,中南瓜用 M 表示,小南瓜用 S 表示,干草用 *

再一行包含整数 AA。

最后一行包含整数 BB。

输出格式

一个整数,表示可以收获的全部南瓜的总价值。

数据范围

1≤R×C≤1051≤R×C≤105,
0≤A<R0≤A<R,
0≤B<C0≤B<C

输入样例1:

6
6
**LMLS
S*LMMS
S*SMSM
******
LLM*MS
SSL*SS
5
1

输出样例1:

37

样例1解释

矩阵的具体分布图如下所示,农民的可活动范围为黄色区域。

QQ截图20240719145857.png

农民一共可以收获 22 个小南瓜,11 个中南瓜,33 个大南瓜,总价值为 2×1+1×5+3×10=372×1+1×5+3×10=37。

输入样例2:

6
6
**LMLS
S*LMMS
S*SMSM
***SLL
LLM*MS
SSL*SS
2
4

输出样例2:

88

样例2解释

矩阵的具体分布图如下所示,农民的可活动范围为黄色区域。

QQ截图20240719150211.png

农民一共可以收获 88 个小南瓜,66 个中南瓜,55 个大南瓜,总价值为 8×1+6×5+5×10=888×1+6×5+5×10=88。

 

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
 
using namespace std;
 
int n, m;
vector<string> g;
int dx[] = {-1, 0, 1, 0}, dy[] = {0, 1, 0, -1};
 
int get_score(char c)
{
    if (c == 'S') return 1;
    if (c == 'M') return 5;
    return 10;
}
 
int dfs(int x, int y)
{
    int res = get_score(g[x][y]);
    g[x][y] = '*';
 
    for (int i = 0; i < 4; i ++ )
    {
        int a = x + dx[i], b = y + dy[i];
        if (a < 0 || a >= n || b < 0 || b >= m || g[a][b] == '*') continue;
        res += dfs(a, b);
    }
    return res;
}
 
int main()
{
    cin >> n >> m;
    g.resize(n);//表示将vector的大小调整为n
    for (int i = 0; i < n; i ++ ) cin >> g[i];
 
    int x, y;
    cin >> x >> y;
    cout << dfs(x, y) << endl;
    return 0;
}
 

 

标签:10,竞赛,int,矩阵,样例,方格,滑铁卢,南瓜,CCC
From: https://www.cnblogs.com/kkman2000/p/18550372

相关文章

  • 基于Java+Vue+MySQL的青少年信息学奥林匹克竞赛交流平台设计与实现(精选毕业设计-可设
    文章目录1.前言2.详细视频演示3.文档参考3.1论文参考3.2流程设计图3.3数据库表结构设计3.4系统测试部分4.项目运行截图5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue6.选题推荐毕设案例8.系统测试8.1系统测试的目的8.2系统功能测试9.代码参考10......
  • 2024年数维杯数学建模竞赛 问题D:城市韧性和可持续发展能力的评估 问题一 思路和代码
    所有数学建模竞赛思路和代码都会发布到专栏内,只需订阅一次,不需要每次都订阅,专栏内包含35个经典模型案例和历年优秀论文。不代写论文,内容可能达不到预期,请勿盲目订阅!!!更多详细思路请订阅专栏:https://blog.csdn.net/m0_52343631/category_12482955.htmlhttps://blog.csdn.net/m0......
  • 2024年数维杯数学建模竞赛 B题:空间变量的协同估计方法研究 问题二 详细思路和代码
    问题2:利用附件1中的数据研究目标变量与协同变量之间的相关性。选择两个协同变量作为目标变量的估计协同变量。目录步骤概述:具体步骤和代码实现:1.加载数据2.探索性数据分析(EDA)3.计算相关性4.选择协同变量5.建......
  • 24 年第十届数维杯国际数模竞赛赛题浅析
    本次万众瞩目的数维杯国际大学生数学建模赛题已正式出炉,无论是赛题难度还是认可度,该比赛都是数模届的独一档,含金量极高,可以用于综测加分、保研、简历添彩等各方面。考虑到大家解题实属不易,为了帮助大家取得好成绩,在数维杯国际建模中夺得国奖,下面学长就赛题给出个人浅析,供大家参......
  • CTF入门教程(非常详细)从零基础入门到竞赛,看这一篇就够了!
    文章目录CTF基础知识一、CTF简介二、CTF赛事介绍三、CTF竞赛模式1.解题模式(Jeopardy)2.攻防模式(Attack-Defense)3.混合模式(Mix)四、CTF竞赛内容国内外著名赛事1、国际知名CTF赛事2、国内知名CTF赛事五、如何学习CTF1、分析赛题2、常规操作3、入门知识推荐书籍零基础网......
  • 基于SpringBoot的信息技术知识竞赛系统
    关注底部领取源码源码编号:S321源码名称:基于SpringBoot的信息技术知识竞赛系统用户类型:双角色,用户、管理员主要技术:Java、Vue、ElementUl、SpringBoot运行环境:Windows/Mac、JDK1.8及以上运行工具:IDEA/Eclipse数 据 库:MySQL5.7及以上版本数据库表数量:16张表是否有......
  • JAVA开源项目 基于Vue和SpringBoot高校学科竞赛平台
    博主说明:本文项目编号T075,文末自助获取源码\color{red}{T075,文末自助获......
  • node.js毕设通达学院竞赛信息管理系统(程序+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于高校竞赛信息管理的研究,现有研究主要集中在竞赛活动的组织与管理、学生参与竞赛的效果评估等方面。专门针对高校竞赛信息管理系统的开发与应用的研......
  • 2024年美国数学竞赛12年级组A卷P24:更接近二试问题
    题目楔形体是三角形面互相全等的四面体.一个楔形体的面是边长为整数的各边不等的三角形,那么它的总表面积最小为 $\textbf{(A)}\sqrt{3}\qquad\textbf{(B)}3\sqrt{15}\qquad\textbf{(C)}15\qquad\textbf{(D)}15\sqrt{7}\qquad\textbf{(E)}24\sqrt{6}$解设$ABCD$为各......
  • 2024年美国数学竞赛12年级组A卷P22:合适的一试P8
    题目下图是一个宽$8$英寸,高$3$英寸的点阵,由$1$英寸乘以$1$英寸的正方形组成.Carl将$1$英寸的牙签插在方格的一些边上,以形成一个不相交的闭合环.单元格中的数字表示该正方形中要用牙签覆盖的边的数量,如果没有写数字,则允许用任意数量的牙签.Carl放置牙签的方法种数为......