社区讨论
60求调
B3818[语言月赛 202308] 电脑中了满屏粉兔病毒参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mhjicsah
- 此快照首次捕获于
- 2025/11/04 03:03 4 个月前
- 此快照最后确认于
- 2025/11/04 03:03 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
char a[1005][1005];
struct WAT
{
int x,y;
}as[10005];
struct APP
{
int x,y;
}sa[10005];
int main()
{
int q,w,n,m,qw=0,ans=0,wq=0;
cin >> n >> m >> q >> w;
for(int i=0;i<n;i++)
{
for(int l=0;l<m;l++)
{
cin >> a[i][l];
if(a[i][l]=='M')
{
as[qw].x=i;
as[qw].y=l;
qw++;
}
else if(a[i][l]=='F')
{
sa[wq].x=i;
sa[wq].y=l;
wq++;
}
}
}
for(int i=0;i<n;i++)
{
for(int l=0;l<m;l++)
{
if(a[i][l]=='F')
{
int nm=4;
for(int j=0;j<qw;j++)
{
if(as[j].x>i&&as[j].y==l) nm--;
if(as[j].x<i&&as[j].y==l) nm--;
if(as[j].y>l&&as[j].x==i) nm--;
if(as[j].y<l&&as[j].x==i) nm--;
if(nm<3) break;
}
if(nm>=3)
ans++;
}
else if(a[i][l]=='M')
{
int nm=4;
for(int j=0;j<wq;j++)
{
if(sa[j].x>i&&sa[j].y==l) nm--;
if(sa[j].x<i&&sa[j].y==l) nm--;
if(sa[j].y>l&&sa[j].x==i) nm--;
if(sa[j].y<l&&sa[j].x==i) nm--;
if(nm<3) break;
}
if(nm>=3)
ans++;
}
}
}
cout << ans;
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...