helianthus-tietietie
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
#include<bits/stdc++.h>
using namespace std;
struct vec{
int x,y;
int main(){
while(~scanf("%d%d%d",&n,&m,&q)){
for (int i=1;i<=n;i++) scanf("%d%d",&a[i].x,&a[i].y);
for (int i=1;i<=m;i++) scanf("%d%d%d%d",&l[i].a.x,&l[i].a.y,&l[i].b.x,&l[i].b.y);
for (int i=1;i<=q;i++){
scanf("%d%d",o.x,o.y);
tot=0; st.clear();
for (int i=1;i<=n;i++){
a[i]=a[i]-o;
b[++tot].v=a[i];
b[tot].id=i;
b[tot].type=1;
}
for (int i=1;i<=m;i++){
l[i].a=l[i].a-o; l[i].b=l[i].b-o;
b[++tot].v=l[i].a;
b[tot].id=i;
b[tot].type=0;
b[++tot].v=l[i].b;
b[tot].id=i;
b[tot].type=2;
if (!pcmp(l[i].a,l[i].b)) swap(b[tot-1].type,b[tot].type);
}
sort(b+1,b+tot+1,cmp);
for (int i=1;i<=n;i++) a[i]=a[i]+o;
for (int i=1;i<=m;i++) l[i].a=l[i].a+o,l[i].b=l[i].b+o;
}
}
}
#include
using namespace std;
struct vec{
int x,y;
int main(){
while(~scanf("%d%d%d",&n,&m,&q)){
for (int i=1;i<=n;i++) scanf("%d%d",&a[i].x,&a[i].y);
for (int i=1;i<=m;i++) scanf("%d%d%d%d",&l[i].a.x,&l[i].a.y,&l[i].b.x,&l[i].b.y);
for (int i=1;i<=q;i++){
scanf("%d%d",o.x,o.y);
tot=0; st.clear();
for (int i=1;i<=n;i++){
a[i]=a[i]-o;
b[++tot].v=a[i];
b[tot].id=i;
b[tot].type=1;
}
for (int i=1;i<=m;i++){
l[i].a=l[i].a-o; l[i].b=l[i].b-o;
b[++tot].v=l[i].a;
b[tot].id=i;
b[tot].type=0;
b[++tot].v=l[i].b;
b[tot].id=i;
b[tot].type=2;
if (!pcmp(l[i].a,l[i].b)) swap(b[tot-1].type,b[tot].type);
}
sort(b+1,b+tot+1,cmp);
for (int i=1;i<=n;i++) a[i]=a[i]+o;
for (int i=1;i<=m;i++) l[i].a=l[i].a+o,l[i].b=l[i].b+o;
}
}
}
附加文件
- Desktop.tar.gz by lyk248289469