LeetCode Weekly Contest 148 2問目 - Binary Tree Coloring Game [1145]

Source

LeetCode Weekly Contest 148
問題文

問題概要

省略

解法

省略

cLayversion 20190810-2)のコード [C++に変換後]

#include<bits/stdc++.h>
using namespace std;
#define main dummy_main
int main(){
  return 0;
}
#undef main

int x;
int as;
int arr[1000];
int gs(TreeNode *n){
  int t1, t2;
  if(n==NULL){
    return 0;
  }
  t1 = gs(n->left);
  t2 = gs(n->right);
  if(n->val==x){
    arr[as++] = t1;
    arr[as++] = t2;
  }
  return t1 + t2 + 1;
}
class Solution{
  public:
  bool btreeGameWinningMove(TreeNode* root, int n, int x__){
    int i, s;
    as = 0;
    x = x__;
    gs(root);
    {
      int KL2GvlyY, Lj4PdHRW;
      if(as==0){
        KL2GvlyY = 0;
      }
      else{
        KL2GvlyY = arr[0];
        for(Lj4PdHRW=(1);Lj4PdHRW<(as);Lj4PdHRW++){
          KL2GvlyY += arr[Lj4PdHRW];
        }
      }
      s =KL2GvlyY;
    }
    arr[as++] = n - s - 1;
    for(i=0;i<(as);i++){
      if(arr[i] > n/2){
        return true;
      }
    }
    return false;
  }
}
;
// cLay varsion 20190810-2

// --- original code ---
// #define main dummy_main
// {}
// #undef main
// 
// struct TreeNode {
// };
// 
// int x;
// int as, arr[1000];
// 
// int gs(TreeNode *n){
//   int t1, t2;
//   if(n==NULL) return 0;
//   t1 = gs(n->left);
//   t2 = gs(n->right);
// 
//   if(n->val==x){
//     arr[as++] = t1;
//     arr[as++] = t2;
//   }
// 
//   return t1 + t2 + 1;
// }
// 
// class Solution {
// public:
//   bool btreeGameWinningMove(TreeNode* root, int n, int x__) {
//     int i, s;
//     as = 0;
//     x = x__;
//     gs(root);
//     s = sum(arr(as));
//     arr[as++] = n - s - 1;
//     rep(i,as) if(arr[i] > n/2) return true;
//     return false;
//   }
// };
// 

Current time: 2024年04月27日01時52分52秒
Last modified: 2019年08月10日17時04分06秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: