CSES - HIIT Open 2019 - Results
Submission details
Task:Grid Paths
Sender:bits pls
Submission time:2019-05-25 15:55:54 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1--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;
}

Test details

Test 1

Verdict:

input
100
606755118 96655535 664126532 4...

correct output
530182530

user output
(empty)