60分!!再次求助
查看原帖
60分!!再次求助
129638
苏晨阳楼主2021/8/2 00:06
#include<bits/stdc++.h>
using namespace std;

int main()
{
	long long s[41][41];
	int a,b,c,d;
	
	cin>>a>>b>>c>>d;
	
	c+=2; d+=2; a+=2; b+=2;
	
	for(int i=0 ; i<=40 ; i++)
	{
		for(int j=0 ; j<=40 ; j++)
		{
			s[i][j] = 1;
		}
	}
	
	s[c+2][d+1] = s[c+1][d+2] = s[c-1][d+2] = s[c-2][d+1] = -1;
	s[c-2][d-1] = s[c-1][d-2] = s[c+2][d-1] = s[c+1][d-2] = s[c][d] = -1;
	
	cout<<s[3][3]<<endl;
	
	for(int i=3 ; i<=a ; i++)
	{
		for(int j=3 ; j<=b ; j++)
		{
			if(s[i][j] == -1) 
			{
				cout<<s[i][j]<<endl;
				continue;
			}
			else if( s[i-1][j] == -1 && s[i][j-1] != -1) s[i][j] = s[i][j-1];
			else if( s[i][j-1] == -1 && s[i-1][j] != -1) s[i][j] = s[i-1][j];
			else if( s[i-1][j] == -1 && s[i][j-1] == -1) s[i][j] = 0;
			else if( s[i-1][j] != -1 && s[i][j-1] != -1) s[i][j] = s[i][j-1] + s[i-1][j];
			
			//cout<<s[i][j]<<endl;
		}
	}
	
	cout<<s[a][b]<<endl;
	return 0;
}

这个是更改后的代码,但是三、四两个测试点过不去。都是WA。希望大家再帮我分析分析代码哪里有问题。 PS:这个代码是纯模拟的。

2021/8/2 00:06
加载中...