Submission #1090512

#TimeUsernameProblemLanguageResultExecution timeMemory
1090512vjudge1Game (IOI13_game)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "game.h" using namespace std; struct node{ node *ll=nullptr; node *lr=nullptr; node *rl=nullptr; node *rr=nullptr; node *tatko=nullptr; long long value=0; pair<long long,long long> x; pair<long long,long long> y; }; // trgni voa posle long long gcd2(long long x,long long y) { if (x%y==0) return y; return gcd2(y,x%y); } node koren; void init(long long R,long long C) { koren.x.first =0; koren.y.first =0; koren.x.second=R; koren.y.second=C; } void update1(long long r=0,long long c=0,long long v=0,node &n=koren) { //cout<< "ulava u "<<n.x.first<<" "<<n.x.second<< " "<<n.y.first<<" "<<n.y.second<<endl; //system("pause"); if (n.x.first==n.x.second && n.y.first==n.y.second) { n.value = v; return; } long long midx = (n.x.second+n.x.first)/2; long long midy = (n.y.second+n.y.first)/2; if (r>=n.x.first && r<=midx) { if (c>=n.y.first && c<=midy) { if (n.ll==nullptr) { node *nov = new node; n.ll = nov; nov->x={n.x.first,midx}; nov->y={n.y.first,midy}; nov->tatko=&n; nov->value = v; } update(r,c,v,*n.ll); n.ll->value = gcd2(n.ll->value,v); } if (c<=n.y.second && c>midy) { if (n.lr==nullptr) { node *nov = new node; n.lr=nov; nov->x={n.x.first,midx}; nov->y={midy+1,n.y.second}; nov->tatko=&n; nov->value = v; } update(r,c,v,*n.lr); n.lr->value = gcd2(n.lr->value,v); } } if (r<=n.x.second && r>midx) { if (c>=n.y.first && c<=midy) { if (n.rl==nullptr) { node *nov = new node; n.rl=nov; nov->x={midx+1,n.x.second}; nov->y={n.y.first,midy}; nov->tatko=&n; nov->value = v; } update(r,c,v,*n.rl); n.rl->value = gcd2(n.rl->value,v); } if (c<=n.y.second && c>midy) { if (n.rr==nullptr) { node *nov = new node; n.rr=nov; nov->x={midx+1,n.x.second}; nov->y={midy+1,n.y.second}; nov->tatko=&n; nov->value = v; } update(r,c,v,*n.rr); n.rr->value = gcd2(n.rr->value,v); } } if (n.value == 0) n.value=v; else n.value = gcd2(n.value,v); } long long calculate1(long long lx=0,long long ty=0,long long rx=0,long long by=0,node &n=koren) { if (lx<=n.x.first && rx>=n.x.second && ty<=n.y.first && by>=n.y.second) return n.value; long long odg=0; long long midx=(n.x.first+n.x.second)/2; long long midy=(n.y.first+n.y.second)/2; if (lx<=midx && rx>=n.x.first) { if (ty<=midy && by>=n.y.first && n.ll!=nullptr) { long long t = calculate(lx,ty,rx,by,*n.ll); if (odg==0) odg = t; else odg = gcd2(odg,t); } if (midy<by && n.y.second>=ty && n.lr!=nullptr) { long long t = calculate(lx,ty,rx,by,*n.lr); if (odg==0) odg = t; else odg = gcd2(odg,t); } } if (midx<rx && n.x.second>=lx) { if (ty<=midy && by>=n.y.first && n.rl!=nullptr) { long long t = calculate(lx,ty,rx,by,*n.rl); if (odg==0) odg = t; else odg = gcd2(odg,t); } if (midy<by && n.y.second>=ty && n.rr!=nullptr) { long long t = calculate(lx,ty,rx,by,*n.rr); if (odg==0) odg = t; else odg = gcd2(odg,t); } } return odg; } void update(int P, int Q,long long K) { update1(P,Q,K); } long long calculate(int P, int Q, int U, int V) { calculate1(P,Q,U,V); }

Compilation message (stderr)

game.cpp: In function 'void update1(long long int, long long int, long long int, node&)':
game.cpp:59:31: error: too many arguments to function 'void update(int, int, long long int)'
   59 |             update(r,c,v,*n.ll);
      |                               ^
In file included from game.cpp:2:
game.h:9:6: note: declared here
    9 | void update(int P, int Q, long long K);
      |      ^~~~~~
game.cpp:73:31: error: too many arguments to function 'void update(int, int, long long int)'
   73 |             update(r,c,v,*n.lr);
      |                               ^
In file included from game.cpp:2:
game.h:9:6: note: declared here
    9 | void update(int P, int Q, long long K);
      |      ^~~~~~
game.cpp:91:31: error: too many arguments to function 'void update(int, int, long long int)'
   91 |             update(r,c,v,*n.rl);
      |                               ^
In file included from game.cpp:2:
game.h:9:6: note: declared here
    9 | void update(int P, int Q, long long K);
      |      ^~~~~~
game.cpp:105:31: error: too many arguments to function 'void update(int, int, long long int)'
  105 |             update(r,c,v,*n.rr);
      |                               ^
In file included from game.cpp:2:
game.h:9:6: note: declared here
    9 | void update(int P, int Q, long long K);
      |      ^~~~~~
game.cpp: In function 'long long int calculate1(long long int, long long int, long long int, long long int, node&)':
game.cpp:124:54: error: too many arguments to function 'long long int calculate(int, int, int, int)'
  124 |             long long t = calculate(lx,ty,rx,by,*n.ll);
      |                                                      ^
In file included from game.cpp:2:
game.h:10:11: note: declared here
   10 | long long calculate(int P, int Q, int U, int V);
      |           ^~~~~~~~~
game.cpp:130:54: error: too many arguments to function 'long long int calculate(int, int, int, int)'
  130 |             long long t = calculate(lx,ty,rx,by,*n.lr);
      |                                                      ^
In file included from game.cpp:2:
game.h:10:11: note: declared here
   10 | long long calculate(int P, int Q, int U, int V);
      |           ^~~~~~~~~
game.cpp:140:54: error: too many arguments to function 'long long int calculate(int, int, int, int)'
  140 |             long long t = calculate(lx,ty,rx,by,*n.rl);
      |                                                      ^
In file included from game.cpp:2:
game.h:10:11: note: declared here
   10 | long long calculate(int P, int Q, int U, int V);
      |           ^~~~~~~~~
game.cpp:146:54: error: too many arguments to function 'long long int calculate(int, int, int, int)'
  146 |             long long t = calculate(lx,ty,rx,by,*n.rr);
      |                                                      ^
In file included from game.cpp:2:
game.h:10:11: note: declared here
   10 | long long calculate(int P, int Q, int U, int V);
      |           ^~~~~~~~~
game.cpp: In function 'long long int calculate(int, int, int, int)':
game.cpp:162:1: warning: no return statement in function returning non-void [-Wreturn-type]
  162 | }
      | ^