社区讨论

案列过不了,找不出问题><

P10294[CCC 2024 J5] Harvest Waterloo参与者 1已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@m65082kc
此快照首次捕获于
2025/01/20 20:10
去年
此快照最后确认于
2025/11/04 11:11
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
queue<pair<int,int>>c;
bool vis[1000][5000];
char a[1000][5000];
int n,m,x,y,sum;
int step[4][2]={{1,0},{0,1},{-1,0},{0,-1}};
signed main()
{   cin>>n>>m;
    for(int i=1;i<=n;i++)
     for(int j=1;j<=m;j++)
      cin>>a[i][j];
    cin>>x>>y;
    c.push({x+1,y+1});
    vis[x][y]=1;
    while(!c.empty())
    {
    	int dx1=c.front().first;
    	int dy1=c.front().second;
    	c.pop();
        for(int i=0;i<4;i++)
        {
        	int dx=dx1+step[i][0];
        	int dy=dy1+step[i][1];
            if(dx>=1&&dy>=1&&dx<=n&&dy<=m&&vis[dx][dy]==0&&a[dx][dy]!='*')
            { vis[dx][dy]=1;
              c.push({dx,dy});
              if(a[dx][dy]=='S')sum+=1;
			  if(a[dx][dy]=='M')sum+=5;
			  if(a[dx][dy]=='L')sum+=10; 
			}
		}	
	}
	cout<<sum;
	}

回复

1 条回复,欢迎继续交流。

正在加载回复...