Submission #291195

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
2911952020-09-04 21:06:09TadijaSebezScissors and Tape (CEOI19_scissors)C++11
100 / 100
5 ms640 KiB
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mp make_pair
#define ll long long
#define mt make_tuple
#define ldb double
#define pii pair<int,int>
#define pll pair<ll,ll>
template<typename T>void ckmn(T &a,T b){a=min(a,b);}
template<typename T>void ckmx(T &a,T b){a=max(a,b);}
int ri(){int x;scanf("%i",&x);return x;}
void rd(){}
template<typename...T>void rd(int &x,T&...args){scanf("%i",&x);rd(args...);}
template<typename...T>void rd(ll &x,T&...args){scanf("%lld",&x);rd(args...);}
template<typename...T>void rd(ldb &x,T&...args){scanf("%lf",&x);rd(args...);}
template<typename...T>void rd(pii &x,T&...args){scanf("%i %i",&x.first,&x.second);rd(args...);}
const ldb eps=1e-9;
bool eq(ldb a,ldb b){return fabs(a-b)<eps;}
struct pt{ldb x,y;pt(){}pt(ldb a,ldb b):x(a),y(b){}};
pt operator+(pt a,pt b){return pt(a.x+b.x,a.y+b.y);}
pt operator-(pt a,pt b){return pt(a.x-b.x,a.y-b.y);}
pt operator*(ldb b,pt a){return pt(a.x*b,a.y*b);}
pt operator/(pt a,ldb b){return pt(a.x/b,a.y/b);}
bool operator==(pt a,pt b){return eq(a.x,b.x)&&eq(a.y,b.y);}
ldb cross(pt a,pt b){return a.x*b.y-a.y*b.x;}
ldb dot(pt a,pt b){return a.x*b.x+a.y*b.y;}
ldb sq(pt a){return dot(a,a);}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

scissors.cpp: In member function 'void ply::p()':
scissors.cpp:42:20: warning: format '%i' expects argument of type 'int', but argument 2 has type 'std::vector<pt>::size_type' {aka 'long unsigned int'} [-Wformat=]
   42 |  void p(){printf("%i ",pts.size());for(auto p:pts)printf("%.10f %.10f ",p.x,p.y);printf("\n");}
      |                   ~^   ~~~~~~~~~~
      |                    |           |
      |                    int         std::vector<pt>::size_type {aka long unsigned int}
      |                   %li
scissors.cpp: In member function 'double ply::area()':
scissors.cpp:45:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<pt>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |   for(int i=0,j=pts.size()-1;i<pts.size();j=i,i++){
      |                              ~^~~~~~~~~~~
scissors.cpp: In function 'int main()':
scissors.cpp:218:16: warning: format '%i' expects argument of type 'int', but argument 3 has type 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wformat=]
  218 |    printf("%i %i\n",pls[o.shp].id,o.fen.size());
      |               ~^                  ~~~~~~~~~~~~
      |                |                            |
      |                int                          std::vector<int>::size_type {aka long unsigned int}
      |               %li
scissors.cpp:225:13: warning: format '%i' expects argument of type 'int', but argument 2 has type 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wformat=]
  225 |    printf("%i ",o.fen.size());
      |            ~^   ~~~~~~~~~~~~
      |             |             |
      |             int           std::vector<int>::size_type {aka long unsigned int}
      |            %li
scissors.cpp: In function 'int ri()':
scissors.cpp:12:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   12 | int ri(){int x;scanf("%i",&x);return x;}
      |                ~~~~~^~~~~~~~~
scissors.cpp: In function 'void rd(int&, T& ...) [with T = {int}]':
scissors.cpp:14:54: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   14 | template<typename...T>void rd(int &x,T&...args){scanf("%i",&x);rd(args...);}
      |                                                 ~~~~~^~~~~~~~~
scissors.cpp: In function 'void rd(int&, T& ...) [with T = {}]':
scissors.cpp:14:54: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scissors.cpp: In member function 'int Solve::tri_to_rec(int)':
scissors.cpp:84:14: warning: 'aid' may be used uninitialized in this function [-Wmaybe-uninitialized]
   84 |    ops.pb(sci(aid,{bid,cid,did}));
      |           ~~~^~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...