/*
:
, , , 0 , , 。 , , N。
*--5---1--4---15-23--4--8--1--15
| | | | | | | | | |
1--0---3--12--1---0--9--3--4--8
| | | | | | | | | |
4--5---7--0--58---5--0--7--9--3
| | | | | | | | | |
7--11--5--1---4--72--1--2--9--3
*/
/*
*/
#include
using namespace std;
// array number
void seek(int array[4][10],int number);
// ,array ,a,b ,number
void seekRight(int array[4][10],int a,int b,int number);
// ,array ,a,b ,number
void seekDown(int array[4][10],int a,int b,int number);
// , false
bool finded = false;
int main()
{
//
int array[4][10] =
{
{0,5,1,4,15,23,4,8,1,15},
{1,0,3,12,1,0,9,3,4,8},
{4,5,7,0,58,5,0,7,9,3},
{7,11,5,1,4,72,1,2,9,3}
};
// , 0
int number = 0;
do
{
finded = false;
//
cout<>number;
cout<array[a][b+1])
{
// , , a ,b+1, number-array[a][b+1],
seekRight(array,a,b+1,number-array[a][b+1]);
seekDown(array,a,b+1,number-array[a][b+1]);
}
else if(number < array[a][b+1])
{
//do nothing
}
}
void seekDown(int array[4][10],int a,int b,int number)
{
if(number == array[a+1][b])
{
finded = true;
}
else if(number>array[a+1][b])
{
seekRight(array,a+1,b,number-array[a+1][b]);
seekDown(array,a+1,b,number-array[a+1][b]);
}
else if(number