Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- int n = 15;
- vector<vector<long long>> g;
- vector<vector<bool>> use;
- long long ans = 0;
- void dfs(int i, int j, long long s) {
- use[i][j] = 0;
- s += g[i][j];
- ans = max(s, ans);
- if (s == 446) {
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- cout << use[i][j] << ' ';
- }
- cout << endl;
- }
- }
- if (i > 0 && g[i-1][j] > g[i][j]) {
- dfs(i - 1, j, s);
- }
- if (i + 1 < n && g[i + 1][j] > g[i][j]) {
- dfs(i + 1, j, s);
- }
- if (j > 0 && g[i][j - 1] > g[i][j]) {
- dfs(i, j - 1, s);
- }
- if (j + 1 < n && g[i][j + 1] > g[i][j]) {
- dfs(i, j + 1, s);
- }
- use[i][j] = 1;
- }
- int main(){
- ios::sync_with_stdio(0);
- g.resize(n, vector<long long>(n));
- use.resize(n, vector<bool>(n, 1));
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- cin >> g[i][j];
- }
- }
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- dfs(i, j, 0);
- }
- }
- cout << ans << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement