WA了最后一个测试点
查看原帖
WA了最后一个测试点
772464
volatile楼主2024/7/4 21:13
#include<iostream>
using namespace std;
int rabbit[4514][4514],xy[3000][2];
int main()
{
	int r,c,n,m,s=1,sum=0;
	cin>>r>>c>>n>>m;
	for(int i=1;i<=r;i++){
		for(int j=1;j<=c;j++){
			char c;
			cin>>c;
			if(c=='F'){
				rabbit[i][j]=1;
				xy[s][0]=i;
				xy[s][1]=j;
				s++;
			}
			if(c=='M'){
				rabbit[i][j]=2;
				xy[s][0]=i;
				xy[s][1]=j;
				s++;
			}
		}
	}
	s--;
	for(int i=1;i<=s;i++){
		int flag=1,sex=rabbit[xy[i][0]][xy[i][1]],s=0;
		for(int j=xy[i][0];j>=1;j--){
			if(rabbit[j][xy[i][1]]!=0&&rabbit[j][xy[i][1]]!=sex){
				flag=0;
				break;
			}
		}
		if(flag) s++;
		flag=1;
		for(int j=xy[i][0];j<=r;j++){
			if(rabbit[j][xy[i][1]]!=0&&rabbit[j][xy[i][1]]!=sex){
				flag=0;
				break;
			}
		}
		if(flag) s++;
		flag=1;
		for(int j=xy[i][1];j>=1;j--){
			if(rabbit[xy[i][0]][j]!=0&&rabbit[xy[i][0]][j]!=sex){
				flag=0;
				break;
			}
		}
		if(flag) s++;
		flag=1;
		for(int j=xy[i][1];j<=c;j++){
			if(rabbit[xy[i][0]][j]!=0&&rabbit[xy[i][0]][j]!=sex){
				flag=0;
				break;
			}
		}
		if(flag) s++;
		if(s>=3) sum++;
	}
	cout<<sum;
	return 0;
}
2024/7/4 21:13
加载中...