Submission #3415997
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
namespace IO
{
const int __S=(1<<20)+5;char __buf[__S],*__H,*__T;
inline char getc()
{
if(__H==__T) __T=(__H=__buf)+fread(__buf,1,__S,stdin);
if(__H==__T) return -1;return *__H++;
}
template <class __I>inline void read(__I &__x)
{
__x=0;int __fg=1;char __c=getc();
while(!isdigit(__c)&&__c!='-') __c=getc();
if(__c=='-') __fg=-1,__c=getc();
while(isdigit(__c)) __x=__x*10+__c-'0',__c=getc();
__x*=__fg;
}
inline void readd(double &__x)
{
__x=0;double __fg=1.0;char __c=getc();
while(!isdigit(__c)&&__c!='-') __c=getc();
if(__c=='-') __fg=-1.0,__c=getc();
while(isdigit(__c)) __x=__x*10.0+__c-'0',__c=getc();
if(__c!='.'){__x=__x*__fg;return;}else while(!isdigit(__c)) __c=getc();
double __t=1e-1;while(isdigit(__c)) __x=__x+1.0*(__c-'0')*__t,__t=__t*0.1,__c=getc();
__x=__x*__fg;
}
inline void reads(char *__s,int __x)
{
char __c=getc();int __tot=__x-1;
while(__c<'!'||__c>'~') __c=getc();
while(__c>='!'&&__c<='~') __s[++__tot]=__c,__c=getc();
__s[++__tot]='\0';
}
char __obuf[__S],*__oS=__obuf,*__oT=__oS+__S-1,__c,__qu[55];int __qr;
inline void flush(){fwrite(__obuf,1,__oS-__obuf,stdout);__oS=__obuf;}
inline void putc(char __x){*__oS++ =__x;if(__oS==__oT) flush();}
template <class __I>inline void print(__I __x)
{
if(!__x) putc('0');
if(__x<0) putc('-'),__x=-__x;
while(__x) __qu[++__qr]=__x%10+'0',__x/=10;
while(__qr) putc(__qu[__qr--]);
}
inline void prints(const char *__s,const int __x)
{
int __len=strlen(__s+__x);
for(int __i=__x;__i<__len+__x;__i++) putc(__s[__i]);
}
inline void printd(double __x,int __d)
{
long long __t=(long long)floor(__x);print(__t);putc('.');__x-=(double)__t;
while(__d--)
{
double __y=__x*10.0;__x*=10.0;
int __c=(int)floor(__y);
putc(__c+'0');__x-=floor(__y);
}
}
inline void el(){putc('\n');}inline void sp(){putc(' ');}
}using namespace IO;
struct nod{int x,y,z,c,v;}p[400005];char o[5][10];
int n,m,K,tot,A1,A2,B1,B2,x[400005],y[400005],z[400005],c[400005],vis[400005],a[400005],las[400005],s[400005],v[400005];
inline bool cmp(nod a,nod b)
{
if(a.c!=b.c) return a.c<b.c;
if(a.c==b.c&&a.c==1) return a.y<b.y;if(a.c==b.c&&a.c==2) return a.x<b.x;
if(a.c==b.c&&a.c==3) return a.y>b.y;if(a.c==b.c&&a.c==4) return a.x>b.x;
}
int main()
{
scanf("%d%d%d",&n,&m,&K);
for(int i=1;i<=K;i++)
{
scanf("%d%d%d%d",&A1,&B1,&A2,&B2);
if(((A1==0||A1==n)||(B1==0||B1==m))&&((A2==0||A2==n)||(B2==0||B2==m)))
x[++tot]=A1,y[tot]=B1,z[tot]=1,v[tot]=i,x[++tot]=A2,y[tot]=B2,z[tot]=-1,v[tot]=i;
}
for(int i=1;i<=tot;i++)
{
if(x[i]==0&&y[i]>0) c[i]=1;if(x[i]>0&&y[i]==m) c[i]=2;
if(x[i]==n&&y[i]<m) c[i]=3;if(x[i]<n&&y[i]==0) c[i]=4;
}
for(int i=1;i<=tot;i++) p[i]=(nod){x[i],y[i],z[i],c[i],v[i]};
sort(p+1,p+tot+1,cmp);for(int i=1;i<=tot;i++) a[i]=p[i].v;
for(int i=tot;i;i--) if(!vis[a[i]]) vis[a[i]]=i,las[i]=tot+1;else las[i]=vis[a[i]];
for(int i=1;i<=tot;i++) if(las[i]!=tot+1) s[i]++,s[las[i]]--;
for(int i=1;i<=tot;i++) s[i]+=s[i-1];
for(int i=1;i<=tot;i++) if(las[i]!=tot+1&&s[las[i]]-s[i-1]!=0){puts("NO");goto gg;}
puts("YES");gg:;
}
Submission Info
Submission Time
2018-10-16 10:34:18+0900
Task
E - Connected?
User
WG6101N
Language
C++14 (GCC 5.4.1)
Score
700
Code Size
3218 Byte
Status
AC
Exec Time
78 ms
Memory
19968 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:73:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d",&n,&m,&K);
^
./Main.cpp:76:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d%d",&A1,&B1,&A2,&B2);
^
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
700 / 700
Status
Set Name
Test Cases
Sample
s1.txt, s2.txt, s3.txt, s4.txt
All
01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 43.txt, 44.txt, 45.txt, 46.txt, s1.txt, s2.txt, s3.txt, s4.txt
Case Name
Status
Exec Time
Memory
01.txt
AC
62 ms
19712 KB
02.txt
AC
58 ms
17536 KB
03.txt
AC
60 ms
17536 KB
04.txt
AC
45 ms
16896 KB
05.txt
AC
60 ms
17536 KB
06.txt
AC
76 ms
19968 KB
07.txt
AC
43 ms
16768 KB
08.txt
AC
65 ms
19712 KB
09.txt
AC
51 ms
17152 KB
10.txt
AC
70 ms
19840 KB
11.txt
AC
64 ms
19712 KB
12.txt
AC
39 ms
14592 KB
13.txt
AC
44 ms
16768 KB
14.txt
AC
53 ms
17280 KB
15.txt
AC
54 ms
17280 KB
16.txt
AC
41 ms
14720 KB
17.txt
AC
40 ms
14592 KB
18.txt
AC
39 ms
14592 KB
19.txt
AC
47 ms
17024 KB
20.txt
AC
75 ms
19840 KB
21.txt
AC
51 ms
17152 KB
22.txt
AC
54 ms
17280 KB
23.txt
AC
75 ms
19968 KB
24.txt
AC
76 ms
19968 KB
25.txt
AC
77 ms
19968 KB
26.txt
AC
76 ms
19968 KB
27.txt
AC
76 ms
19968 KB
28.txt
AC
75 ms
19968 KB
29.txt
AC
77 ms
19968 KB
30.txt
AC
78 ms
19968 KB
43.txt
AC
3 ms
14592 KB
44.txt
AC
4 ms
14592 KB
45.txt
AC
4 ms
14592 KB
46.txt
AC
3 ms
14592 KB
s1.txt
AC
4 ms
14592 KB
s2.txt
AC
3 ms
14592 KB
s3.txt
AC
3 ms
14592 KB
s4.txt
AC
4 ms
14592 KB