Submission #140211

#TimeUsernameProblemLanguageResultExecution timeMemory
140211rajarshi_basuMechanical Doll (IOI18_doll)C++14
Compilation error
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 ans1wer(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+1){ //cout << "ITEMS : " << endl; //for(auto e : out[i])cout << e << " ";cout << endl; if(out[i].size() == 0){ outof[i] = 0; }else{ int kk = out[i].size(); int lst = out[i].back(); out[i].pop_back(); vi ids; while((kk&(kk-1)) != 0){ out[i].pb(ctr); dummy[ctr] = 1; x[ctr] = -ctr; ids.pb(ctr); //y[ctr] = i; kk++; ctr++; } out[i].pb(lst); outof[i] = solve(out[i]); for(auto e: ids)yy[e] = outof[i]; } } vi xx; vi yy; FORE(i,1,ctr-1){ xx.pb(x[i]); yy.pb(y[i]); } answer(outof,xx,yy); } int m1ain(){ vi all; all.pb(1); all.pb(2); all.pb(1); all.pb(3); all.pb(1); all.pb(4); all.pb(1); create_circuit(4,all); return 0; }

Compilation message (stderr)

doll.cpp: In function 'void ans1wer(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++)
......
   37 |  FOR(i,nums.size()){
      |      ~~~~~~~~~~~~~               
doll.cpp:37:2: note: in expansion of macro 'FOR'
   37 |  FOR(i,nums.size()){
      |  ^~~
doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:87:20: error: 'yy' was not declared in this scope; did you mean 'y'?
   87 |    for(auto e: ids)yy[e] = outof[i];
      |                    ^~
      |                    y