제출 #1326862

#제출 시각아이디문제언어결과실행 시간메모리
1326862Faisal_SaqibJump (BOI06_jump)C++20
85 / 100
1 ms568 KiB
#include <iostream> #include <algorithm> using namespace std; typedef __int128 ll; const int N=102; ll dp[N][N]; int g[N][N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cin>>g[i][j]; } } dp[n][n]=1; for(int i=n;i>=1;i--) { for(int j=n;j>=1;j--) { if(g[i][j]==0)continue; if(j+g[i][j]<=n) dp[i][j]+=dp[i][j+g[i][j]]; if(i+g[i][j]<=n) dp[i][j]+=dp[i+g[i][j]][j]; } } string ans; while(dp[1][1]>0) { ans+=char('0'+(dp[1][1]%10)); dp[1][1]/=10; } if(ans.size()==0)ans+='0'; reverse(begin(ans),end(ans)); cout<<ans<<endl; // cout<<dp[1][1]<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...