제출 #424727

#제출 시각아이디문제언어결과실행 시간메모리
424727ollel저울 (IOI15_scales)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
#include <iostream>
using namespace std;

#define rep(i,a,b) for(int i = a; i < b; i++)
#define pb push_back
#define lso(x) x&(-x)

typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;

int t;

// int getLightest(vi x) {
//   cout << "lightest:";
//   rep(i,0,3) cout << x[i] << " ";cout<<endl;
//   int ans; cin >> ans; return ans;
// }
// int getNextLightest(vi x) {
//   cout << "next lightest:";
//   rep(i,0,4) cout << x[i] << " ";cout<<endl;
//   int ans; cin >> ans; return ans;
// }
// int getMedian(vi x) {
//   cout << "Median:";
//   rep(i,0,3) cout << x[i] << " ";cout<<endl;
//   int ans; cin >> ans; return ans;
// }

void init(int T) {t = T;}

// void answer(vi x) {rep(i,0,6) cout << x[i] << " ";}

void orderCoins() {
  vi first(3), second(3);
  first[0] = getLightest({1, 2, 3});
  first[1] = getMedian({1, 2, 3});
  rep(i, 1, 4) if (i != first[0] && i != first[1]) first[2] = i;

  second[0] = getLightest({4, 5, 6});
  second[1] = getMedian({4, 5, 6});
  rep(i, 4, 7) if (i != second[0] && i != second[1]) second[2] = i;

  vi ordered;
  int fi = 0, si = 0;
  ordered.pb(getLightest({first[0], first[1], second[0]}));
  if (ordered[0] == first[0]) fi = 1;//ordered.pb(getLightest({first[1], first[2], second[0]}));
  else si = 1;//ordered.pb(getLightest({first[0], first[1], second[1]}));

  while (ordered.size() < 6) {
    if (si < 3 && fi < 3) {
      if (si != 2) ordered.pb(getLightest({first[fi], second[si], second[si + 1]}));
      else if (fi != 2) ordered.pb(getLightest({first[fi], first[fi + 1], second[si]}));
      else ordered.pb(getNextLightest({first[0], first[fi], second[si], ordered[ordered.size() - 1]}));

      if (ordered[ordered.size() - 1] == first[fi]) fi++;
      else si++;
    }
    else if (si < 3) {
      ordered.pb(second[si]); si++;
    }
    else {
      ordered.pb(first[fi]); fi++;
    }
  }
  answer(ordered);
}


// int main(){
//   orderCoins();
// }

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

scales.cpp: In function 'void orderCoins()':
scales.cpp:37:14: error: 'getLightest' was not declared in this scope
   37 |   first[0] = getLightest({1, 2, 3});
      |              ^~~~~~~~~~~
scales.cpp:38:14: error: 'getMedian' was not declared in this scope
   38 |   first[1] = getMedian({1, 2, 3});
      |              ^~~~~~~~~
scales.cpp:55:23: error: 'getNextLightest' was not declared in this scope
   55 |       else ordered.pb(getNextLightest({first[0], first[fi], second[si], ordered[ordered.size() - 1]}));
      |                       ^~~~~~~~~~~~~~~
scales.cpp:67:3: error: 'answer' was not declared in this scope
   67 |   answer(ordered);
      |   ^~~~~~