站外题代码求纠错
  • 板块学术版
  • 楼主GAR__Cpp
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/10/3 12:00
  • 上次更新2023/11/2 16:21:21
查看原帖
站外题代码求纠错
1047624
GAR__Cpp楼主2023/10/3 12:00

电影院的舞台可以看成是由 � n 行 � m 列的矩形的方格组成

现在导演告诉你每个方格上是否有演员站着

你现在是一名灯光师,你需要将聚光灯放置在合适的位置

聚光灯会根据放置的方向会向上、下、左、右四个方向中的一个方向发射光束

如果在光束方向上有演员,那么会照亮该演员。一个合适的摆放位置(摆放位置包括坐标和方向)满足两个条件:

该位置没有演员

聚光灯能照射到至少一个演员

计算有多少种合适的摆放方案

注意 同一格子不同的方向也被看作不同的方案 0 表示该方格上没有演员, 1 1 表示该方格上有演员(?处为粘贴问题可忽略)

#include<bits/stdc++.h>
using namespace std;
int a[100][100];

 
  
int sum=0;

int x(int j,int i,int m)
{
    int x=j,sum=0;
                while(x<=m)
                {   
                    
                    if(a[i][x]==1)
                    {   
                        sum++;
                        
                    }
                    x++;
                }
                x=j;
                while(x>=1)
                {   
                    if(a[i][x]==1)
                    {
                        sum++;
                        
                        
                    }
                    x--;
                }
    return sum;
}

int y(int j,int i,int n)
{
    int x=j,sum=0;
                while(x<=n)
                {   
                    if(a[x][i]==1)
                    {
                        sum++;
                        
                    }
                    x++;
                }
                x=j;
                while(x>=1)
                {
                    
                    if(a[x][i]==1)
                    {
                        sum++;
                        
                        
                    }
                    x--;
                }
            return sum;
}

int main()
{
    int n,m,sum=0;
    cin>>n>>m;
    for(int i=1;i<=n;i++)  
    {  
        for(int j=1;j<=m;j++)  
        {  
            cin>>a[i][j]; 

        }  
    }  
    
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {   if(a[i][j]!=1)
             {sum+=x(j,i,m)+y(i,j,n);}
                
            }
        }
        cout<<sum;
    }
    
2023/10/3 12:00
加载中...