제출 #1220845

#제출 시각아이디문제언어결과실행 시간메모리
1220845mariamtsagareliSquare or Rectangle? (NOI19_squarerect)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; int X1,Y1,X2,Y2,N,Q,qc; bool inside_shape(int x,int y){ qc++; return x>=X1&&x<=X2&&y>=Y1&&y<=Y2; } bool am_i_square(int n,int q){ if(q>50){ int i=0,x=-1,y=-1; srand(74231); while(i<q/2){ int a=rand()%n+1,b=rand()%n+1; if(inside_shape(a,b)){x=a;y=b;break;} i++; } if(x<0){ for(int a=1;a<=n&&i<q/2;a+=5) for(int b=1;b<=n&&i<q/2;b+=5){ if(inside_shape(a,b)){x=a;y=b;break;} i++; } } if(x<0)x=y=1; int l=x,r=x,u=y,d=y; while(i<q&&l>1){ if(inside_shape(l-1,y))l--;else break; i++; } while(i<q&&r<n){ if(inside_shape(r+1,y))r++;else break; i++; } while(i<q&&u>1){ if(inside_shape(x,u-1))u--;else break; i++; } while(i<q&&d<n){ if(inside_shape(x,d+1))d++;else break; i++; } return (r-l)==(d-u); } else { int c=(n+1)/2,s=(n+10)/11,p=c,o=c; for(int i=1;i<=10;i++){ int t=i*s; if(t>n)t=n; if(inside_shape(c,t)){p=c;o=t;break;} } int l=1,r=p,m; while(l<r){ m=(l+r)/2; if(inside_shape(m,o))r=m;else l=m+1; } int f=l; l=p;r=n; while(l<r){ m=(l+r+1)/2; if(inside_shape(m,o))l=m;else r=m-1; } int g=l; int u=1,d=o; l=1;r=o; while(l<r){ m=(l+r)/2; if(inside_shape(p,m))r=m;else l=m+1; } int h=l; l=o;r=n; while(l<r){ m=(l+r+1)/2; if(inside_shape(p,m))l=m;else r=m-1; } int k=l; return (g-f)==(k-h); } } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int T; cin>>T>>N>>Q; for(int t=0;t<T;t++){ cin>>X1>>Y1>>X2>>Y2; qc=0; bool sq=am_i_square(N,Q); cout<<(sq?"square\n":"rectangle\n"); } return 0; }

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

/usr/bin/ld: /tmp/ccxjLAe9.o: in function `inside_shape(int, int)':
grader.cpp:(.text+0x0): multiple definition of `inside_shape(int, int)'; /tmp/cc3Kw1zC.o:squarerect.cpp:(.text+0x0): first defined here
/usr/bin/ld: /tmp/ccxjLAe9.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cc3Kw1zC.o:squarerect.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status