제출 #99754

#제출 시각아이디문제언어결과실행 시간메모리
99754LawlietScales (IOI15_scales)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>

#define MAX 10

using namespace std;

int query[MAX];

bool marc[MAX];

vector<int> aux;
vector<int> ordered[2];

int getHeaviest(int A, int B, int C);
int getLightest(int A, int B, int C);
int getMedian(int A, int B, int C);
int getNextLightest(int A, int B, int C, int D);
void answer(int W[6]);

void orderCoins(void)
{
  int W[6];

  ordered[0].push_back(getLightest(1 , 2 , 3));
  ordered[0].push_back(getMedian(1 , 2 , 3));
  ordered[0].push_back(6 - ordered[0][0] - ordered[0][1]);

  ordered[1].push_back(getLightest(4 , 5 , 6));
  ordered[1].push_back(getMedian(4 , 5 , 6));
  ordered[1].push_back(15 - ordered[1][0] - ordered[1][1]);

  int mn = ordered[0][0];

  for(int g = 0 ; g < 3 ; g++)
  {
    W[5 - g] = getHeaviest(ordered[0].back() , ordered[1].back() , mn);

    if(W[5 - g] == ordered[0].back()) ordered[0].pop_back();
    if(W[5 - g] == ordered[1].back()) ordered[1].pop_back();

    if(ordered[0].size() == 1) mn = ordered[1][0];
  }

  if(ordered[0].size() == 3) for(int g = 0 ; g < 3 ; g++) W[g] = ordered[0][g];
  else if(ordered[1].size() == 3) for(int g = 0 ; g < 3 ; g++) W[g] = ordered[1][g];
  else
  {
    for(int g = 0 ; g < ordered[0].size() ; g++) aux.push_back(ordered[0][g]);
    for(int g = 0 ; g < ordered[1].size() ; g++) aux.push_back(ordered[1][g]);

    int med = getMedian(aux[0] , aux[1] , aux[2]);

    W[1] = med;

    if(ordered[1].size() == 1) swap(ordered[0] , ordered[1]);

    if(med == ordered[0][0])
    {
      W[0] = ordered[1][0];
      W[2] = ordered[1][1];
    }
    if(med == ordered[1][0])
    {
      W[2] = ordered[1][1];
      W[0] = ordered[0][0];
    }
    if(med == ordered[1][1])
    {
      W[0] = ordered[1][0];
      W[2] = ordered[0][0];
    }
  }

  answer(W);
}


void init(int T)
{
  for(int k = 1 ; k <= T ; k++)
  {
    orderCoins();
  }
}

컴파일 시 표준 에러 (stderr) 메시지

In file included from grader.c:2:0:
graderlib.c: In function 'void answer(int*)':
graderlib.c:53:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
     if (_ghksjhdfkae19ga_ > 1) 
     ^~
graderlib.c:56:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  for (i = 0; i < 6; i++) {
  ^~~
scales.cpp: In function 'void orderCoins()':
scales.cpp:48:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int g = 0 ; g < ordered[0].size() ; g++) aux.push_back(ordered[0][g]);
                     ~~^~~~~~~~~~~~~~~~~~~
scales.cpp:49:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int g = 0 ; g < ordered[1].size() ; g++) aux.push_back(ordered[1][g]);
                     ~~^~~~~~~~~~~~~~~~~~~
/tmp/ccNEigg5.o: In function `main':
grader.c:(.text.startup+0x76): undefined reference to `init'
grader.c:(.text.startup+0xe1): undefined reference to `orderCoins'
/tmp/ccXbvNEL.o: In function `orderCoins()':
scales.cpp:(.text+0x88): undefined reference to `getLightest(int, int, int)'
scales.cpp:(.text+0xb9): undefined reference to `getMedian(int, int, int)'
scales.cpp:(.text+0x104): undefined reference to `getLightest(int, int, int)'
scales.cpp:(.text+0x12b): undefined reference to `getMedian(int, int, int)'
scales.cpp:(.text+0x186): undefined reference to `getHeaviest(int, int, int)'
scales.cpp:(.text+0x282): undefined reference to `answer(int*)'
scales.cpp:(.text+0x328): undefined reference to `getMedian(int, int, int)'
collect2: error: ld returned 1 exit status