LeetCode Biweekly Contest 22 4問目 - Pizza With 3n Slices [1388]

Source

LeetCode Biweekly Contest 22
問題文

問題概要

省略

解法

省略

cLayversion 20200325-1)のコード

C++に変換後のコードはこちら

#define main dummy_main
{}
#undef main

int N, A[1000];
int dp[1000][1000];

int solve(int a, int b){
  int res = 0;

  if(a > b) return 0;
  if(a >= N) (a, b) -= N;
  if(dp[a][b] >= 0) return dp[a][b];

  rep(i,3,b-a,3) res >?= solve(a, a+i-1) + solve(a+i, b);
  rep(i,a+1,b,3) res >?= A[i] + solve(a+1, i-1) + solve(i+1, b-1);

  return dp[a][b] = res;
}

class Solution {
public:
  int maxSizeSlices(vector<int>& slices) {
    int res = -1;
    N = slices.size();
    rep(i,2N) A[i] = slices[i % N];
    rep(i,2N) rep(j,2N) dp[i][j] = -1;
    rep(i,N) res >?= solve(i, i+N-1);
    return res;
  }
};

Current time: 2024年04月25日02時38分24秒
Last modified: 2020年03月29日02時38分42秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: