一、问题描述
在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。 你需要处理这个副本其中的一个机制:N×M 大小的地图被拆分为了 N×M 个 1×1 的格子,BOSS 会选择若干行或/及若干列释放技能,玩家不能站在释放技能的方格上,否则就会被击中而失败。 给定 BOSS 所有释放技能的行或列信息,请你计算出最后有多少个格子是安全的。
二、流程设计
建立一共二维数组,全赋值为0,然后攻击哪行(列)就把那行(列)的值全变成1,最后再统计 0 的个数
三、代码实现
#include<iostream>
using namespace std;
int main(){
int n,m,q;
cin>>n>>m>>q;
int a[n+1][m+1]={0};
while(q){
int t,c;
cin>>t>>c;
if(t==0){
for(int i=1;i<=m;i++)
a[c][i]=1;
}
else{
for(int i=1;i<=n;i++)
a[i][c]=1;
}
q--;
}
int cnt=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]==0)
cnt++;
}
}
cout<<cnt;
}