为什么输入就有问题
  • 板块P1101 单词方阵
  • 楼主Phrvth
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/10/2 15:22
  • 上次更新2023/11/4 05:09:14
查看原帖
为什么输入就有问题
520544
Phrvth楼主2021/10/2 15:22

目前是输出ans,找到问题会改正,各位大佬帮我看看为什么输入都错就行了

#include <bits/stdc++.h>
using namespace std;
char a[100][100],n;
int ans=0;
string sd="yizhong";
void dfc(int i,int j,int n,int l)
{
	if(l==1)
	{
		if(n==7)
		{
			ans++;
			return ;	
		}
		if(a[i+1][j]==sd[n])dfc(i+1,j,n+1,1);
		return;
	}
	else if(l==2)
	{
		if(n==7)
		{
			ans++;
			return ;	
		}
		if(a[i-1][j]==sd[n])dfc(i-1,j,n+1,2);
		return;
	}
	else if(l==3)
	{
		if(n==7)
		{
			ans++;
			return ;	
		}
		if(a[i][j+1]==sd[n])dfc(i,j+1,n+1,3);
		return;
	}
	else
	{
		if(n==7)
		{
			ans++;
			return ;	
		}
		if(a[i][j-1]==sd[n])dfc(i,j-1,n+1,3);
		return;
	}
}
int main() {
    cin>>n;
    for(int i=0;i<n;i++)
    	for(int j=0;j<n;j++)
    		cin>>a[i][j];
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			if(a[i][j]=='y')
			{
				if(a[i+6][j]<n)dfc(i+1,j,1,1);
				if(a[i-6][j]>=0)dfc(i-1,j,1,2);
				if(a[i][j+6]<n)dfc(i,j+1,1,3);
				if(a[i][j-6]>=0)dfc(i,j-1,1,4);
			}
		}
	}
	cout<<ans;
    return 0;
}
2021/10/2 15:22
加载中...