在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。

你需要处理这个副本其中的一个机制:N×M 大小的地图被拆分为了 N×M 个 1×1 的格子,BOSS 会选择若干行或/及若干列释放技能,玩家不能站在释放技能的方格上,否则就会被击中而失败。

给定 BOSS 所有释放技能的行或列信息,请你计算出最后有多少个格子是安全的。

输入格式:

输入第一行是三个整数 N,M,Q (1≤N×M≤105,0≤Q≤1000),表示地图为 N 行 M 列大小以及选择的行/列数量。

接下来 Q 行,每行两个数 Ti​,Ci​,其中 Ti​=0 表示 BOSS 选择的是一整行,Ti​=1 表示选择的是一整列,Ci​ 为选择的行号/列号。行和列的编号均从 1 开始。

输出格式:

输出一个数,表示安全格子的数量。

输入样例:

5 5 3
0 2
0 4
1 3

输出样例:

12

代码(Python): 

n,m,q=map(int,input().split())  #输入第一行是三个整数 N,M,Q ,表示地图为 N 行 M 列大小以及选择的行/列数量。
list1=[]  #存放地图
list2=[]  #存放要删除的数据的行或列数,即输入样例中除第一行以外的数
for i in range(n):  #初始化二维列表,即构建地图,使其值全部为1h=[]            #这里其实相当于list1中有n个元素,每个元素里又有m个元素,即构成n*m的地图for j in range(m):h.append(1)list1.append(h)
for i in range(q):  #二维数组的输入,即将输入样例中除第一行以外的数以二维列表的形式存储s=input()list2.append([int(n) for n in s.split()])  #注意里面是方括号
for i in range(q):  #开始删除x=list2[i][1]-1 #看要删除哪一行或列,因为题中的行或列都是从1开始的,而列表中的是从0开始的,所以要减1if list2[i][0]==0:  #删除一整行for j in range(m):  #删除行的时候看有几列,m列list1[x][j]=0  #用置0表示删除if list2[i][0]==1: #删除一整列for j in range(n): #删除列的时候看有几行,n行list1[j][x]=0 #用置0表示删除
count=0  #安全格子的数量
for i in range(n):  #遍历地图,看有几个1,即有几个安全格子for j in range(m):if list1[i][j]==1:count+=1
print(count)  #输出安全格子的数量

我在一开始看到这道题的时候以为它很难,因为看上去很复杂。但还是上手尝试了一下,发现一点也不难,就是最基础的数学知识,也没有很难的算法。所以,当大家遇到一道看上去很难的题的时候,也不要放弃,要尝试入手去做,去分析,说不定它没有很难,又或许它确实有点难度,可是不尝试怎么知道自己会不会呢,万一自己做出来了呢?所以不要给自己设限,要大胆额去尝试,去挑战。

上面的程序给出了比较详细的注释,以便新手小白参考。程序的思路设计或者代码实现并不是最优的,欢迎各位大佬指正错误或者给出更优质的思路。

我是一只想成为鲲鹏的菜鸟,大家的鼓励是我前进的动力,欢迎大家点赞收藏评论哦!

7-11 机工士姆斯塔迪奥(PTA程序设计)相关推荐

  1. 2022天梯补题——L1-7 机工士姆斯塔迪奥

    在 MMORPG<最终幻想14>的副本"乐欲之所瓯博讷修道院"里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战. 你需要处理这个副本其中的一个机制:N×M 大小的地图被 ...

  2. 团体程序设计天梯赛-练习集 L1-087 机工士姆斯塔迪奥

    根据题意,这道题我们可以理解为在特定行列数的二维数组中按照规则去掉指定行列,统计剩下的数组中元素的总量 需要注意的是,不能忽略以下两种情况,否则会有测试点不通过!: 1.行和列交叉点会有元素重合,例如 ...

  3. c语言编程练习题:7-207 机工士姆斯塔迪奥

    #include <stdio.h> int main(){int m,n,q;int t,c;int t_arr[1000];int c_arr[1000];int m_count = ...

  4. 人类语言能力的自然演化:乔姆斯基对阵达尔文|《达尔文的危险思想》

    导语 查尔斯·达尔文用他的<物种起源>为生命的多姿多彩提供了一种解释:是演化和自然选择造就了这个星球上缤纷的生命.然而自诞生的那一天起,达尔文自然选择和演化的理论就引发过很多争议.很多人认 ...

  5. 第一位女性商业程序员玛丽库姆斯去世,享年 93 岁!

    作者 | 张洁 出品 | 程序人生 (ID:coder _life) 据 The Register 报道,2 月 28 日,世界上首位使用商业应用编写计算机程序的女性.英国知名女程序员玛丽·库姆斯(M ...

  6. 阿当姆斯matlab,数值计算方法与MATLAB应用

    第1篇 数值计算的基本方法和概念 第1章 算法与误差 1.1 算法 1.2 误差 第2章 方程求解 2.1 引言 2.2 二分法 2.3 迭代法 2.4 牛顿法 2.5 弦截法 2.6 解非线性方程组 ...

  7. 第一位女性商业程序员玛丽库姆斯去世,享年 93 岁

    作者 | 张洁 据 The Register 报道,2 月 28 日,世界上首位使用商业应用编写计算机程序的女性.英国知名女程序员玛丽·库姆斯(Mary Coombs)去世,享年 93 岁. 图片来源 ...

  8. 我的世界刷猪人塔java版_我的世界1.11.2自动猪人塔制作指南 猪人塔存档下载 | 我的世界 | MC世界侠...

    我的世界1.11.2自动猪人塔制作指南 猪人塔存档下载 在我的世界中,僵尸猪人被击杀后会掉落金粒,而金是合成许多物品的材料,所以大家都想制作猪人塔而不知道该怎么制作,今天给大家带来猪人塔的制作指南和猪 ...

  9. 【C/C++】龙格库塔+亚当姆斯求解数值微分初值问题

    1 /* 2 解数值微分初值问题: 3 龙格-库塔法求前k个初值 + 亚当姆斯法 4 */ 5 #include<bits/stdc++.h> 6 using namespace std; ...

  10. P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)

    题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...

最新文章

  1. Linux TCP/IP协议栈笔记
  2. 免秘登陆linux_linux普通用户免秘钥登陆操作
  3. 读书笔记之如何阅读一本书
  4. CTFshow 命令执行 web63
  5. C++ Primer 5th笔记(chap 17 标准库特殊设施)指定浮点数记数法
  6. Angular界面元素CSS样式的条件式施加方式
  7. 使用jdk DOM,SAX和第三方jar包DOM4J创建,解析xml文件
  8. gitlab 删除分支_如何删除gitlab上默认受保护的master主分支
  9. 计算机应用基础 制作表格说课稿,职业教育:计算机应用基础类一等奖作品《Premiere视频制作初体验》说课稿.docx...
  10. Python风格总结: 复制列表
  11. vs2017 js cordova + dotnet core 开发app
  12. Flex4.0判断摄像头是否被占用
  13. 实战篇:如何用Keras建立神经网络(附全部代码) 1
  14. Axure中继器使用
  15. 美国车联网(V2X)发展现状与反思
  16. 深度神经网络识别垃圾邮件
  17. 河海大学计算机考研方向,2020河海大学计算机学硕838经验贴
  18. 模电学习第一天--PN结梳理
  19. Bigdecimal BigDeciamal元转换为万元,转换为百分数,字符串与数值互转,整数/浮点数转换为BigDeciamal 获取当前年月日时分秒 百分比数据保留两位小数
  20. Win10小娜关闭或删除进程

热门文章

  1. Mahalanobis(马哈拉诺比斯)距离
  2. 10.22T2 DSU算法
  3. 将港中文建成中国计算机视觉黄埔军校的人!
  4. 如何用微云永久外链MP3做QQ空间背景音乐?
  5. Unity ML-Agents 从零训练你自己的AI!:一、环境配置
  6. Docker容器技术与应用(项目1 Docker容器简介)
  7. win10如何重装系统(联想笔记本)
  8. 服务器 分辨率问题 显示器不显示不出来,遇到显示器分辨率调不了这个问题怎么办?...
  9. YYC松鼠聚合直播系统添加图片上传视频提示网络错误的问题解决方案
  10. 软件测试入门知识,Linux系统基础教程——带你玩转Linux(五)