当前位置:网站首页>7-11 mechanic mustadio (PTA program design)
7-11 mechanic mustadio (PTA program design)
2022-07-06 13:56:00 【Programming Lindaiyu】
stay MMORPG《 Final fantasy 14》 Copy of “ A place of pleasure, oubona monastery ” in ,BOSS Mechanic mstadio will accept the player's challenge .
You need to process this copy, one of the mechanisms :N×M The size of the map is split into N×M individual 1×1 Lattice of ,BOSS Will select several rows or / And several columns of release skills , Players cannot stand on a square that releases skills , Otherwise you will be hit and fail .
Given BOSS All row or column information for releasing skills , Please calculate how many grids are safe in the end .
Input format :
The first line of input is three integers N,M,Q (1≤N×M≤105,0≤Q≤1000), Indicates that the map is N That's ok M Column size and selected rows / Number of columns .
Next Q That's ok , Two numbers per line Ti,Ci, among Ti=0 Express BOSS A whole row is selected ,Ti=1 Indicates that an entire column is selected ,Ci Select the line number for / Column number . The numbers of rows and columns are from 1 Start .
Output format :
Output a number , Indicates the number of safety grids .
sample input :
5 5 3
0 2
0 4
1 3
sample output :
12
Code (Python):
n,m,q=map(int,input().split()) # The first line of input is three integers N,M,Q , Indicates that the map is N That's ok M Column size and selected rows / Number of columns .
list1=[] # Store map
list2=[] # The number of rows or columns storing the data to be deleted , That is, input the number in the sample except the first line
for i in range(n): # Initialize the 2D list , That is, build a map , Make its values all 1
h=[] # This is actually equivalent to list1 There is n Elements , Each element has m Elements , Composition n*m The map of
for j in range(m):
h.append(1)
list1.append(h)
for i in range(q): # Input of two-dimensional array , I will store the number in the input sample in the form of a two-dimensional list except the first line
s=input()
list2.append([int(n) for n in s.split()]) # Notice the square brackets inside
for i in range(q): # To delete
x=list2[i][1]-1 # See which row or column you want to delete , Because the rows or columns in the question are from 1 At the beginning , And in the list is from 0 At the beginning , So we need to reduce 1
if list2[i][0]==0: # Delete a whole line
for j in range(m): # When deleting rows, see how many columns ,m Column
list1[x][j]=0 # Use to place 0 Said to delete
if list2[i][0]==1: # Delete an entire column
for j in range(n): # See how many rows there are when deleting columns ,n That's ok
list1[j][x]=0 # Use to place 0 Said to delete
count=0 # Number of safety grids
for i in range(n): # Traverse the map , Look, how many are there 1, That is, there are several safety grids
for j in range(m):
if list1[i][j]==1:
count+=1
print(count) # Output the number of safety grids
When I first saw this problem, I thought it was very difficult , Because it looks complicated . But I still tried it , It's not difficult to find , Is the most basic mathematical knowledge , There is no hard Algorithm . therefore , When you come across a seemingly difficult problem , And don't give up , Try to do it , To analyze , Maybe it's not very difficult , Or maybe it's really a little difficult , But how do you know if you will not try , What if you make it yourself ? So don't set limits on yourself , Try boldly , To challenge .
The above program gives more detailed comments , For novice Xiaobai's reference . The idea of program design or code implementation is not optimal , You are welcome to correct your mistakes or give better ideas .
I am a rookie who wants to be Kunpeng , Everyone's encouragement is my driving force , Welcome to like collection comments !
边栏推荐
- 甲、乙机之间采用方式 1 双向串行通信,具体要求如下: (1)甲机的 k1 按键可通过串行口控制乙机的 LEDI 点亮、LED2 灭,甲机的 k2 按键控制 乙机的 LED1
- 优先队列PriorityQueue (大根堆/小根堆/TopK问题)
- Yugu p1012 spelling +p1019 word Solitaire (string)
- MATLAB打开.m文件乱码解决办法
- [data processing of numpy and pytoch]
- Strengthen basic learning records
- Experiment 7 use of common classes
- Implementation of count (*) in MySQL
- 【Numpy和Pytorch的数据处理】
- 渗透测试学习与实战阶段分析
猜你喜欢
仿牛客技术博客项目常见问题及解答(二)
Custom RPC project - frequently asked questions and explanations (Registration Center)
强化學習基礎記錄
1. Preliminary exercises of C language (1)
使用Spacedesk实现局域网内任意设备作为电脑拓展屏
Canvas foundation 2 - arc - draw arc
实验六 继承和多态
Leetcode.3 无重复字符的最长子串——超过100%的解法
FAQs and answers to the imitation Niuke technology blog project (II)
Thoroughly understand LRU algorithm - explain 146 questions in detail and eliminate LRU cache in redis
随机推荐
[hand tearing code] single case mode and producer / consumer mode
7-3 构造散列表(PTA程序设计)
[data processing of numpy and pytoch]
7-9 制作门牌号3.0(PTA程序设计)
Reinforcement learning series (I): basic principles and concepts
[dark horse morning post] Shanghai Municipal Bureau of supervision responded that Zhong Xue had a high fever and did not melt; Michael admitted that two batches of pure milk were unqualified; Wechat i
[面試時]——我如何講清楚TCP實現可靠傳輸的機制
【头歌educoder数据表中数据的插入、修改和删除】
Write a program to simulate the traffic lights in real life.
[MySQL table structure and integrity constraint modification (Alter)]
杂谈0516
深度强化文献阅读系列(一):Courier routing and assignment for food delivery service using reinforcement learning
实验六 继承和多态
FAQs and answers to the imitation Niuke technology blog project (III)
2022 Teddy cup data mining challenge question C idea and post game summary
Experiment 4 array
7-5 走楼梯升级版(PTA程序设计)
MATLAB打开.m文件乱码解决办法
A piece of music composed by buzzer (Chengdu)
Callback function ----------- callback