Submission #728567

#TimeUsernameProblemLanguageResultExecution timeMemory
728567KarpinJump (BOI06_jump)C++17
100 / 100
17 ms1136 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define vt vector #define ar array string amount [105][105]; string sumTwoStrings(string first, string second){ int rem = 0; string res = ""; reverse(first.begin(), first.end()); reverse(second.begin(), second.end()); for(int i = 0; i < max(first.size(), second.size()); i++){ int cur = rem + (first.size() < i + 1 ? 0 : (first[i] - '0')) + (second.size() < i + 1 ? 0 : (second[i] - '0')); res += to_string(cur % 10); rem = cur / 10; } if (rem != 0) res += to_string(rem); reverse(res.begin(), res.end()); return res; } void solve(){ int n; cin >> n; int grid [n + 5][n + 5]; for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ cin >> grid[i][j]; amount[i][j] = "0"; } } amount[0][0] = "1"; for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ if (i == j && i == n - 1) break; amount[i + grid[i][j]][j] = sumTwoStrings(amount[i + grid[i][j]][j], amount[i][j]); amount[i][j + grid[i][j]] = sumTwoStrings(amount[i][j + grid[i][j]], amount[i][j]); } } cout << amount[n - 1][n - 1] << endl; } int main(){ ios::sync_with_stdio(0); cin.tie(0); int testcases = 1; // cin >> testcases; while(testcases--){ solve(); } return 0; }

Compilation message (stderr)

jump.cpp: In function 'std::string sumTwoStrings(std::string, std::string)':
jump.cpp:19:22: warning: comparison of integer expressions of different signedness: 'int' and 'const long unsigned int' [-Wsign-compare]
   19 |     for(int i = 0; i < max(first.size(), second.size()); i++){
      |                    ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jump.cpp:20:39: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   20 |         int cur = rem + (first.size() < i + 1 ? 0 : (first[i] - '0')) + (second.size() < i + 1 ? 0 : (second[i] - '0'));
      |                          ~~~~~~~~~~~~~^~~~~~~
jump.cpp:20:88: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   20 |         int cur = rem + (first.size() < i + 1 ? 0 : (first[i] - '0')) + (second.size() < i + 1 ? 0 : (second[i] - '0'));
      |                                                                          ~~~~~~~~~~~~~~^~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...