Central Europe Regional Contest 2012 Problem I: The Dragon and the Knights
一个简单的题;
感觉像计算几何,其实并用不到什么计算几何的知识;
方法:
首先对每条边判断一下,看他们能够把平面分成多少份;
然后用边来对点划分集合,首先初始化为一个集合;
最后如果点的集合等于平面的份数,就说明每块都有一个士兵;
代码:
#include<cstdio>
#include<vector>
#define maxn 105
#define maxm 50005
using namespace std;
int a[maxn],b[maxn],c[maxn];
long long x[maxm],y[maxm];
int main()
{
int t,n,m;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
for(int i=; i<n; i++)
scanf("%d%d%d",&a[i],&b[i],&c[i]);
for(int i=; i<m; i++)
scanf("%lld%lld",&x[i],&y[i]);
int cnt=;
for(int i=; i<n; i++)
{
cnt++;
for(int j=; j<i; j++)
{
if(a[i]*b[j]!=a[j]*b[i])
cnt++;
}
}
vector< vector<int> >ve;
ve.resize();
for(int i=; i<m; i++)ve[].push_back(i);
for(int i=; i<n; i++)
{
int l=ve.size();
for(int j=; j<l; j++)
{
vector<int>vv[];
int si=ve[j].size();
for(int k=; k<si; k++)
{
int v=ve[j][k];
if(x[v]*a[i]+y[v]*b[i]+c[i]<)
vv[].push_back(v);
else vv[].push_back(v);
}
if(vv[].empty())swap(vv[],vv[]);
ve[j]=vv[];
if(!vv[].empty()) ve.push_back(vv[]);
}
}
if(cnt==ve.size())puts("PROTECTED");
else puts("VULNERABLE");
}
return ;
}
Central Europe Regional Contest 2012 Problem I: The Dragon and the Knights的更多相关文章
- Central Europe Regional Contest 2012 Problem c: Chemist’s vows
字符串处理的题目: 学习了一下string类的一些用法: 这个代码花的时间很长,其实可以更加优化: 代码: #include<iostream> #include<string> ...
- Central Europe Regional Contest 2012 Problem J: Conservation
题目不难,感觉像是一个拓扑排序,要用双端队列来维护: 要注意细节,不然WA到死 = =! #include<cstdio> #include<cstring> #includ ...
- Central Europe Regional Contest 2012 Problem H: Darts
http://acm.hunnu.edu.cn/online/problem_pdf/CERC2012/H.pdf HUNNU11377 题意:飞镖环有十个环,没个环从外到里对应一个得分1~10,每个 ...
- ACM ICPC Central Europe Regional Contest 2013 Jagiellonian University Kraków
ACM ICPC Central Europe Regional Contest 2013 Jagiellonian University Kraków Problem A: Rubik’s Rect ...
- 2020.5.16-ICPC Central Europe Regional Contest 2019
A. ABB #include <bits/stdc++.h> using namespace std; #define PB push_back #define ZERO (1e-10) ...
- 2017-2018 ACM-ICPC, Central Europe Regional Contest (CERC 17)
A. Assignment Algorithm 按题意模拟即可. #include<stdio.h> #include<iostream> #include<string ...
- 【优先级队列】Southwestern Europe Regional Contest Canvas Painting
https://vjudge.net/contest/174235#problem/D [题意] 给定n个已知size的帆布,要给这n块帆布涂上不同的颜色,规则是这样的: 每次选择一种颜色C 对于颜色 ...
- 【枚举】Southwestern Europe Regional Contest H - Sheldon Numbers
https://vjudge.net/contest/174235#problem/H [题意] 求[x,y]之间有多少个Sheldon Number Sheldon Number是二进制满足以下条件 ...
- ICPC Central Russia Regional Contest (CRRC 19)题解
题目连接:https://codeforces.com/gym/102780 寒假第二次训练赛,(某菜依旧是4个小时后咕咕咕),战况还行,个人表现极差(高级演员) A:Green tea 暴力枚举即可 ...
随机推荐
- 使用Netty进行Android与Server端通信实现文字发送接收与图片上传
ANOTHER TITLE: Let’s use netty to achieve text send and receive and image transfer to server based ...
- Redis与Memcached对比
Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富,有字符串.链表.集合和有序集合.支持在服务器端计算集合的并,交和补集等.还支持多 ...
- 关于redhat6的服务说明
服务名称 功能 默认 建议 备注说明 NetworkManager 主要用于图形网络连接管理 开启 关闭 对服务器无用 abrt-ccpp Automated Bug Reporting Tool 开 ...
- c3p0配置文件报错 对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾。
原配置文件: 异常截图: 百度可知: 在xml的配置文件中 :要用 & 代替 更改后配置文件:
- 20160331javaweb 之JSP page 指令
- MVC LINQ中用封装的TSQL通用更新方法
把TSQL拿出来,做了一个封装,适用的所有表,更新有两种,普通更新和记数更新 看代码:这两个方法是写在DAL里的数据操作基类里的,只有它的子类可以用它,所以用protected做为限制 /// < ...
- mark jquery 链式调用的js原理
我们在使用jquery的时候会用到类似$("#id").css('color','red').show(200); 这样写有点减少代码量,减少了逐步查询DOM的性能损耗: js 原 ...
- job还是job
declare jobno binary_integer;rm_days number;rm_hour number; --传入的hourmy_hour number; --取出当前时间的ho ...
- JavaScript 学习笔记-- ES6学习(一)介绍以及Babel的使用
本文摘自阮一峰老师的<ECMAScript 6入门>,原文地址:http://es6.ruanyifeng.com/#docs/intro ECMAScript 6 是一个泛指,含义是5. ...
- 暑假集训(1)第三弹 -----Dungeon Master(Poj2251)
Description You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is co ...