제출 #140207

#제출 시각아이디문제언어결과실행 시간메모리
140207rajarshi_basu자동 인형 (IOI18_doll)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #include "doll.h" #define FOR(i,n) for(int i = 0;i<n;i++) #define FORE(i,a,b) for(int i= a;i<=b;i++) #define ll long long int #define vi vector<int> #define vv vector #define pb push_back #define ii pair<int,int> using namespace std; const int MAXN = 4e5; int n,m; vi out[MAXN]; int ctr = 1; int x[MAXN]; int y[MAXN]; bool dummy[MAXN]; void ansawer(vi a,vi b,vi c){ for(auto e : a)cout << e << " ";cout << endl; FOR(i,b.size()){ cout << b[i] << " " << c[i] << endl; } } int solve(vi nums){ if(nums.size() == 1)return nums[0]; vi lft;vi rght; FOR(i,nums.size()){ if(i%2 == 0){ lft.pb(nums[i]); }else{ rght.pb(nums[i]); } } int xx = solve(lft); int yy = solve(rght); x[ctr] = xx; y[ctr] = yy; ctr++; return -(ctr-1); } void create_circuit(int m,vi a){ ::m = m; n = a.size(); vi carr; FOR(i,n){ if(i == n-1){ out[a[i]].pb(0); }else{ out[a[i]].pb(a[i+1]); } } //FOR(i,m)reverse(out[i].begin(),out[i].end()); out[0].pb(a[0]); vi outof(m+1); FOR(i,m){ if(out[i].size() == 0){ outof[i] = 0; }else{ int kk = out[i].size(); int lst = out[i].last(); out[i].pop_back(); while((kk&(kk-1)) != 0){ out[i].pb(ctr); dummy[ctr] = 1; x[ctr] = -ctr; y[ctr] = i; kk++; ctr++; } out[i].pb(lst); outof[i] = solve(out[i]); } } vi xx; vi yy; FORE(i,1,ctr-1){ xx.pb(x[i]); yy.pb(y[i]); } answer(outof,xx,yy); } int m1in(){ vi all; all.pb(1); all.pb(2); all.pb(1); all.pb(3); create_circuit(4,all); return 0; }

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

doll.cpp: In function 'void ansawer(std::vector<int>, std::vector<int>, std::vector<int>)':
doll.cpp:25:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   25 |  for(auto e : a)cout << e << " ";cout << endl;
      |  ^~~
doll.cpp:25:34: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   25 |  for(auto e : a)cout << e << " ";cout << endl;
      |                                  ^~~~
doll.cpp:5:33: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define FOR(i,n) for(int i = 0;i<n;i++)
......
   26 |  FOR(i,b.size()){
      |      ~~~~~~~~~~                  
doll.cpp:26:2: note: in expansion of macro 'FOR'
   26 |  FOR(i,b.size()){
      |  ^~~
doll.cpp: In function 'int solve(std::vector<int>)':
doll.cpp:5:33: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define FOR(i,n) for(int i = 0;i<n;i++)
......
   34 |  FOR(i,nums.size()){
      |      ~~~~~~~~~~~~~               
doll.cpp:34:2: note: in expansion of macro 'FOR'
   34 |  FOR(i,nums.size()){
      |  ^~~
doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:69:21: error: 'class std::vector<int>' has no member named 'last'; did you mean 'at'?
   69 |    int lst = out[i].last();
      |                     ^~~~
      |                     at