답안 #152095

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
152095 2019-09-06T11:16:50 Z nicolaalexandra popa (BOI18_popa) C++14
컴파일 오류
0 ms 0 KB
#include <iostream>
#include "popa.h"
#include <cstring>
#define DIM 1010
using namespace std;
int Left[DIM],Right[DIM],t[DIM];
int solve (int n, int *Left, int *Right){
    int T,n,i;
    cin>>T;
    for (;T--;){
        cin>>n;
        memset (Left,-1,sizeof Left);
        memset (Right,-1,sizeof Right);
        memset (t,-1,sizeof t);
        /// pt ca parcurgerea in inordine e 0..n-1, arborele are structura unui arbore binar de cautare
        /// si tot subarborele lui i contine o subsecv compacta de nr
        /// val[Left[nod]] = val[nod]-1 => pe i incerc sa l pun fix desupra lui i-1
        int rad = 0;
        for (int i=1;i<n;i++){
            int x = i-1;
            while (x >= 0 && !query(x,x,x,i)) /// cat timp x nu e radacina subarborelui
                x = t[x];

            if (x >= 0){
                /// il adaug pe i intre nodurile x si Right[x] (pt ca Left[x] e deja fixat)
                Left[i] = Right[x]; /// subarborele il plasez in stanga pt ca toate nodurile sunt mai mici decat i
                Right[x] = i;
                if (Left[i] >= 0) /// poate sa fie si -1
                    t[Left[i]] = i;
                t[i] = x;

            } else { /// inseamna ca i va fi noua radacina
                Left[i] = rad;
                t[rad] = i;
                rad = i;
            }}
    return rad;
}

Compilation message

popa.cpp: In function 'int solve(int, int*, int*)':
popa.cpp:8:11: error: declaration of 'int n' shadows a parameter
     int T,n,i;
           ^
popa.cpp:12:32: warning: argument to 'sizeof' in 'void* memset(void*, int, size_t)' call is the same expression as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
         memset (Left,-1,sizeof Left);
                                ^~~~
popa.cpp:13:33: warning: argument to 'sizeof' in 'void* memset(void*, int, size_t)' call is the same expression as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
         memset (Right,-1,sizeof Right);
                                 ^~~~~
popa.cpp:8:13: warning: unused variable 'i' [-Wunused-variable]
     int T,n,i;
             ^
popa.cpp:38:1: error: expected '}' at end of input
 }
 ^
popa.cpp:38:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^