| Task: | Grid Paths |
| Sender: | bits pls |
| Submission time: | 2019-05-25 15:55:54 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | TIME LIMIT EXCEEDED |
| test | verdict | time | |
|---|---|---|---|
| #1 | TIME LIMIT EXCEEDED | -- | details |
Compiler report
input/code.cpp: In function 'int solve(int, int, std::vector<std::vector<int> >&)':
input/code.cpp:8:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (i >= nums.size() || j >= nums[0].size()) {
~~^~~~~~~~~~~~~~
input/code.cpp:8:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (i >= nums.size() || j >= nums[0].size()) {
~~^~~~~~~~~~~~~~~~~
input/code.cpp:9:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (i == nums.size() && j == nums[0].size() - 1 || i == nums.size() - 1 && j == nums.size()) {
~~^~~~~~~~~~~~~~
input/code.cpp:9:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (i == nums.size() && j == nums[0].size() - 1 || i == nums.size() - 1 && j == nums.size()) {
~~^~~~~~~~~~~~~~~~~~~~~
input/code.cpp:9:6...Code
#include <iostream>
#include <vector>
using namespace std;
int solve(int i, int j, vector< vector<int> > &nums) {
if (i >= nums.size() || j >= nums[0].size()) {
if (i == nums.size() && j == nums[0].size() - 1 || i == nums.size() - 1 && j == nums.size()) {
return nums[nums.size()-1][nums.size()-1];
}
return 0;
}
int curr = nums[i][j];
//cout << i << " " << j << " curr: "<< curr << endl;
int a = solve(i, j+1, nums);
//cout << i << " " << j << " a: "<< a << endl;
int sum = 0;
if (a > 0) {
sum += curr + a;
}
int b = solve(i+1, j, nums);
//cout << i << " " << j << " b: "<< b << endl;
if (b > 0) {
sum += curr + b;
}
return sum;
}
int main()
{
int n;
cin >> n;
vector< vector<int> > nums;
int num;
for (int i = 0; i < n; i++) {
vector<int> row;
for (int j = 0; j < n; j++) {
cin >> num;
row.push_back(num);
}
nums.push_back(row);
}
cout << (solve(0, 1, nums) + solve(1, 0, nums))/(n-1) << endl;
}
