Submission #1214873

#TimeUsernameProblemLanguageResultExecution timeMemory
1214873candi_ositosJump (BOI06_jump)C++20
100 / 100
10 ms1860 KiB
#include <bits/stdc++.h> #define ll long long int using namespace std; int n; vector <vector <string> > b; vector <vector <int> > c; string print(string z) { int i=z.length()-1; string r; for(i=z.length()-1; i>0; --i) { if(z[i]!='0') { break; } } for(; i>=0; --i) { r+=z[i]; } return r; } void add(int i, int j, int in, int jn) { int aux=0; for(int x=0; x<b[in][jn].length(); ++x) { b[in][jn][x]+=b[i][j][x]-'0'+aux; aux=b[in][jn][x]-'0'; aux/=10; b[in][jn][x]-=10*aux; } return; } int main() { cin>>n; b.assign(n, vector <string>(n, string("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"))); c.assign(n, vector <int>(n, 0)); b[0][0][0]='1'; for(int i=0; i<n; ++i) { for(int j=0; j<n; ++j) { cin>>c[i][j]; } } for(int i=0; i<n; ++i) { for(int j=0; j<n; ++j) { if(i<n-1 || j<n-1) { if(i+c[i][j]<n) { add(i, j, i+c[i][j], j); } if(j+c[i][j]<n) { add(i, j, i, j+c[i][j]); } } } } cout<<print(b[n-1][n-1]); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...