Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- public class Solution {
- public static final long MOD = (long)1e9 + 7L;
- public static int nSize = 0;
- public static long[] memo = new long[300001];
- public static void main(String[] args) throws Exception {
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- int n = Integer.parseInt(br.readLine().trim());
- String s = br.readLine().trim();
- // compute and print answer here
- for(int i = n-1; i >= 0; i--){
- if(i == n-1){
- memo[i] = 1;
- }
- else if(i == n-2 && s.charAt(i) == '0'){
- memo[i] = 1;
- }
- else if(i == n-3 && s.charAt(i) == '0'){
- memo[i] = 2;
- }
- else{
- if( (i+2 < n && i+1 < n) &&
- (s.charAt(i+2) == '0' && s.charAt(i+1) == '0')){
- memo[i] = memo[i+2] + memo[i+1];
- }
- else if(i+2 < n && s.charAt(i+2) == '0'){
- memo[i] = memo[i+2];
- }
- else if(i+1 < n && s.charAt(i+1) == '0'){
- memo[i] = memo[i+1];
- }
- }
- }
- System.out.println(memo[0]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement