湖南大学的oj上有这套比赛;

这题是个简单的计算几何,首先去掉重复的边,然后判断是否全部平行;

代码:

 #include<cstdio>
#define maxn 105
using namespace std; struct node
{
int x1,y1;
int x2,y2;
} no[maxn]; bool cross(node a,node b)
{
int x=(b.x1-a.x1)*(a.y2-a.y1)-(b.y1-a.y1)*(a.x2-a.x1);
int y=(b.x2-a.x1)*(a.y2-a.y1)-(b.y2-a.y1)*(a.x2-a.x1);
if(x+y==)return ;
return ;
} bool pall(node a,node b)
{
int nx1=a.x2-a.x1;
int ny1=a.y2-a.y1;
int nx2=b.x2-b.x1;
int ny2=b.y2-b.y1;
if(nx1*ny2==nx2*ny1)return ;
return ;
} int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
bool flag2=;
int cnt=;
node a;
for(int i=; i<m; i++)
{
bool flag1=;
scanf("%d%d%d%d",&a.x1,&a.y1,&a.x2,&a.y2);
if(cnt==)
{
no[cnt++]=a;
}
else
{
for(int i=; i<cnt; i++)
{
if(cross(a,no[i])==)
{
flag1=;
break;
}
if(pall(a,no[i])==)flag2=;
}
if(flag1==)no[cnt++]=a;
}
}
int ans;
if(flag2==)ans=cnt+;
else ans=cnt*;
if(ans>=n)puts("");
else
{
if(flag2==)
{
if((cnt+)*>=n)puts("");
else printf("%d\n",(n-(cnt+)*-)/+);
}
else printf("%d\n",(n-cnt*-)/+);
}
}
return ;
}

NCPC 2012 Galactic Warlords的更多相关文章

  1. NCPC 2012 Bread Sorting

    逆序对数的应用: 逆序对数的写法有,二分,树状数组,分治: 学习一下: 树状数组版: 代码: #include<cstdio> #include<cstring> #inclu ...

  2. NCPC 2012 Cookie Selection

    题目要求每次输出中间的那个数,如果数据很大肯定扛不住: 所以用两个优先队列来维护: 这样的话中间的那个数反正会在两个队列的任何一个的头部: 时间复杂度肯定比较小: 代码: #include <c ...

  3. Codeforces Gym101572 G.Galactic Collegiate Programming Contest (2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017))

    Problem G Galactic Collegiate Programming Contest 这个题题意读了一会,就是几个队参加比赛,根据实时的信息,问你1号队的实时排名(题数和罚时相同的时候并 ...

  4. Nordic Collegiate Programming Contest NCPC 2017-Problem G Galactic Collegiate Programming Contest

    题目大意:有n( n<1e5 )只队伍参加程序竞赛,然后给m个信息,每个信息告诉你第p 个队伍过了一题,并且告诉你罚时是多少,让你输入每个信息之后,第一个队伍的 排名. 思路:一眼看过去就像数据 ...

  5. Windows server 2012 添加中文语言包(英文转为中文)(离线)

    Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...

  6. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  7. 1.初始Windows Server 2012 R2 Hyper-V + 系统安装详细

    干啥的?现在企业服务器都是分开的,比如图片服务器,数据库服务器,redis服务器等等,或多或少一个网站都会用到多个服务器,而服务器的成本很高,要是动不动采购几十台,公司绝对吃不消的,于是虚拟化技术出来 ...

  8. 0.Win8.1,Win10,Windows Server 2012 安装 Net Framework 3.5

    后期会在博客首发更新:http://dnt.dkill.net 网站部署之~Windows Server | 本地部署:http://www.cnblogs.com/dunitian/p/482280 ...

  9. windows 2012 r2 can't find kb2919355

    问题   解决: 1.手动安装了 Windows8.1-KB2919442-x64 2.手动下载 KB2919355 更新成功     Turns out to have been a result ...

随机推荐

  1. hibernate缓存技术

    1.缓存 2.Hibernate 缓存作用:为了提高查询效率. 3.第一次操作某个对象的时候,把操作的对象数据存储到缓存中,然后下一次在对同一个对象操作的时候,就不会在连接数据库. 4.Hiberna ...

  2. maven项目在tomcat中运行遇到的问题

    在使用maven构建项目,并在tomcat容器中运行的时候遇到了一些问题,现做一下记录 maven项目中jdk版本会自动恢复 maven项目的编译jdk即使在window -> java -&g ...

  3. JS 时间与时间戳的相互转换

    <script type="text/javascript"> var time = "2015-04-22 21:41:43";//2015-4- ...

  4. mysql自增

    主键设置自增,同时主键需要是int类型

  5. iis的路径

    每次打开iis管理器查看iis指定路径下的文件过于麻烦,而且iis管理器耗资源,以下是iis的路径,以及其对应在本地磁盘的地址 SP2013\Sites\SharePoint - 80\_contro ...

  6. SQL Server delete、truncate、drop

    在T-SQL中这三个命令符,相信很多朋友都不会陌生的,我自己在工作也会常常使用到它们,虽然我们清除的知道用这三个命令符可以达到怎样的预期效果. 但是却很少深入的去了解它们,知道它们有什么区别,又各有什 ...

  7. android.util.AndroidRuntimeException: requestFeature() must be called before adding content解决办法

    最近在学习第一行代码这本书,里面的关于activity生命周期有一段例子,但是我自己用mac上装的as运行一直出问题,看log的话就是android.util.AndroidRuntimeExcept ...

  8. Oracle官网下载地址大全(包括11g、10g和9i)

    Oracle11g下载: Microsoft Windows(32 位)的 Oracle Database 11g 第 2 版 (11.2.0.1.0) http://download.oracle. ...

  9. DbUtil组件及C3P0数据库连接池组件的使用

    DbUtils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能. 使用c ...

  10. Map集合中的一些具体方法的体现

    package com.java.b.map.www; import java.util.Collection;import java.util.HashMap;import java.util.It ...