- #include <iostream>
- #include <cmath>
- using namespace std;
- int max1=0;
- int map[16][16]={
- {00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00},
- {00,75,00,00,00,00,00,00,00,00,00,00,00,00,00,00},
- {00,95,64,00,00,00,00,00,00,00,00,00,00,00,00,00},
- {00,17,47,82,00,00,00,00,00,00,00,00,00,00,00,00},
- {00,18,35,87,10,00,00,00,00,00,00,00,00,00,00,00},
- {00,20, 4,82,47,65,00,00,00,00,00,00,00,00,00,00},
- {00,19, 1,23,75, 3,34,00,00,00,00,00,00,00,00,00},
- {00,88, 2,77,73, 7,63,67,00,00,00,00,00,00,00,00},
- {00,99,65, 4,28, 6,16,70,92,00,00,00,00,00,00,00},
- {00,41,41,26,56,83,40,80,70,33,00,00,00,00,00,00},
- {00,41,48,72,33,47,32,37,16,94,29,00,00,00,00,00},
- {00,53,71,44,65,25,43,91,52,97,51,14,00,00,00,00},
- {00,70,11,33,28,77,73,17,78,39,68,17,57,00,00,00},
- {00,91,71,52,38,17,14,91,43,58,50,27,29,48,00,00},
- {00,63,66, 4,68,89,53,67,30,73,16,69,87,40,31,00},
- {00, 4,62,98,27,23, 9,70,98,73,93,38,53,60, 4,23}
- };
- void count(int x,int y,int sum)
- {
- if(y==16)
- {
- max1=max(max1,sum);
- }
- else
- {
- sum+=map[y][x];
- count(x,y+1,sum);
- count(x+1,y+1,sum);
- }
- }
- int main()
- {
- count(1,1,0);
- cout<<"最大的和是:"<<max1;
- }
复制代码 |