제출 #150331

#제출 시각아이디문제언어결과실행 시간메모리
150331잉여로운 고3 (#200)On the Grid (FXCUP4_grid)C++17
43 / 100
13 ms384 KiB
#include <bits/stdc++.h> #include "grid.h" using namespace std; int ask(vector <int> &X, vector <int> &Y) { vector <int> Z = X; int i; for(i=0; i<Y.size(); i++){ Z.push_back(Y[i]); } return PutDisks(Z); } vector <int> SortDisks(int n) { vector <int> ans(n, 0), chk(n, 0); vector <int> X, Y; int i, j, t; int s, e, m, v1, v2; for(i=0; i<n; i++){ X.clear(); Y.clear(); for(j=0; j<n; j++){ if(chk[j]) Y.push_back(j); } for(j=0; j<n; j++){ if(!chk[j]) X.push_back(j); } sort(Y.begin(), Y.end(), [&](int &a, int &b){ return ans[a] < ans[b]; }); v1 = ask(X, Y); for(s=1, e=n-i-1; s<=e; ){ m = s + e >> 1; rotate(X.begin(), X.begin() + m, X.end()); v2 = ask(X, Y); if(v1 + m == v2) s = m + 1; else e = m - 1; rotate(X.begin(), X.begin() + n - i - m, X.end()); } chk[X[e]] = 1; ans[X[e]] = v1 - (n - e) + 1; } return ans; }

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

grid.cpp: In function 'int ask(std::vector<int>&, std::vector<int>&)':
grid.cpp:13:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(i=0; i<Y.size(); i++){
           ~^~~~~~~~~
grid.cpp: In function 'std::vector<int> SortDisks(int)':
grid.cpp:45:10: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
    m = s + e >> 1;
        ~~^~~
grid.cpp:24:12: warning: unused variable 't' [-Wunused-variable]
  int i, j, t;
            ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...