QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#398414#3769. 共线点xlwang#AC ✓20ms3712kbC++141.6kb2024-04-25 11:50:282024-04-25 11:50:29

Judging History

This is the latest submission verdict.

  • [2024-04-25 11:50:29]
  • Judged
  • Verdict: AC
  • Time: 20ms
  • Memory: 3712kb
  • [2024-04-25 11:50:28]
  • Submitted

answer

#include<bits/stdc++.h>
#define int long long
#define fr(i,j,k) for(register int i=j;i<=k;++i)
#define rf(i,j,k) for(register int i=j;i>=k;--i)
#define foredge(i,j) for(register int i=head[j];i;i=e[i].nxt)
#define pb push_back
#define Times printf("Time:%.3lf\n",clock()/CLOCKS_PER_SEC)
using namespace std;
inline int read(){
	int x=0;
	bool f=0;
	char c=getchar();
	while(!isdigit(c)) f|=(c=='-'),c=getchar();
	while(isdigit(c)) x=(x<<3)+(x<<1)+(c^48),c=getchar();
	return f?-x:x;
}
inline void write(int x){
    if(x<0){putchar('-');x=-x;}
    if(x>9)write(x/10);
    putchar(x%10+'0');
}
inline void writeln(int x){write(x); puts("");}
inline void writepl(int x){write(x); putchar(' ');}
mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
inline int randfind(int l,int r){return rnd()%(r-l+1)+l;}
//inline void init(){
//	int t=read();
//	while(t--) work();
//}
struct node{
    int x,y;
};
bool operator < (node a,node b){
    return a.y*b.x<a.x*b.y;
}
int a[3],b[3],c[3];
inline void work(){
    cin>>b[0]>>c[0];
    fr(i,1,2) cin>>a[i]>>b[i]>>c[i];
    int l,r;
    l=ceil((double)(a[1]-b[0])/(c[1]-c[0])*(c[2]-c[0])+b[0]);
    r=floor((double)(b[1]-a[0])/(c[1]-c[0])*(c[2]-c[0])+a[0]);
    // cout<<l<<' '<<r<<endl;
    if(min(r,b[2])>=max(l,a[2])) puts("Yes");
    else puts("No");
}
inline void init(){
    while(cin>>a[0]) work();
}
signed main(){
	// freopen("input.in","r",stdin);
	// freopen("output.out","w",stdout);
    init();
    // printf("\nTIME:%.3lf",(double)clock()/CLOCKS_PER_SEC);
	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 20ms
memory: 3712kb

input:

0 1 0
0 1 1
0 1 2
0 1 0
1 2 1
0 1 2
0 1 0
2 3 1
0 1 2
3 8 2
5 7 4
2 8 7
2 7 1
1 3 3
0 8 4
4 6 1
1 3 3
2 9 4
0 9 1
0 3 6
2 9 9
0 6 3
4 6 5
1 2 7
6 9 4
4 7 6
1 8 9
0 6 5
0 6 6
0 8 7
4 7 2
6 8 4
2 5 8
5 6 1
6 9 2
1 5 9
3 5 1
2 8 2
3 4 6
5 8 2
1 6 3
8 9 7
1 7 2
4 7 6
2 9 9
5 6 3
0 7 5
2 4 8
0 3 1
2 9 3
...

output:

Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
No
No
Yes
Yes
No
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
No
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Y...

result:

ok 10000 lines