一个简单的题;

感觉像计算几何,其实并用不到什么计算几何的知识;

方法:

首先对每条边判断一下,看他们能够把平面分成多少份;

然后用边来对点划分集合,首先初始化为一个集合;

最后如果点的集合等于平面的份数,就说明每块都有一个士兵;

代码:

 #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的更多相关文章

  1. Central Europe Regional Contest 2012 Problem c: Chemist’s vows

    字符串处理的题目: 学习了一下string类的一些用法: 这个代码花的时间很长,其实可以更加优化: 代码: #include<iostream> #include<string> ...

  2. Central Europe Regional Contest 2012 Problem J: Conservation

    题目不难,感觉像是一个拓扑排序,要用双端队列来维护: 要注意细节,不然WA到死  = =! #include<cstdio> #include<cstring> #includ ...

  3. Central Europe Regional Contest 2012 Problem H: Darts

    http://acm.hunnu.edu.cn/online/problem_pdf/CERC2012/H.pdf HUNNU11377 题意:飞镖环有十个环,没个环从外到里对应一个得分1~10,每个 ...

  4. 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 ...

  5. 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) ...

  6. 2017-2018 ACM-ICPC, Central Europe Regional Contest (CERC 17)

    A. Assignment Algorithm 按题意模拟即可. #include<stdio.h> #include<iostream> #include<string ...

  7. 【优先级队列】Southwestern Europe Regional Contest Canvas Painting

    https://vjudge.net/contest/174235#problem/D [题意] 给定n个已知size的帆布,要给这n块帆布涂上不同的颜色,规则是这样的: 每次选择一种颜色C 对于颜色 ...

  8. 【枚举】Southwestern Europe Regional Contest H - Sheldon Numbers

    https://vjudge.net/contest/174235#problem/H [题意] 求[x,y]之间有多少个Sheldon Number Sheldon Number是二进制满足以下条件 ...

  9. ICPC Central Russia Regional Contest (CRRC 19)题解

    题目连接:https://codeforces.com/gym/102780 寒假第二次训练赛,(某菜依旧是4个小时后咕咕咕),战况还行,个人表现极差(高级演员) A:Green tea 暴力枚举即可 ...

随机推荐

  1. JDK 动态代理分析

    Java的代理有两种:静态代理和动态代理,动态代理又分为 基于jdk的动态代理 和 基于cglib的动态代理 ,两者都是通过动态生成代理类的方法实现的,但是基于jdk的动态代理需要委托类实现接口,基于 ...

  2. HTTP请求类型详解

    HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务 器)请 ...

  3. UIPickerView实现省 市 区三级联动

    前几天用UIPickerView实现了一下三级联动具体的如下图

  4. LUN 和 LVM 知识

    LUN是对存储设备而言的,volume是对主机而言的. lun是指硬件层分出的逻辑盘,如raid卡可以将做好的400G的raid5再分成若干个逻辑盘,以便于使用,每一个逻辑盘对应一个lun号,OS层仍 ...

  5. [置顶] linux第二天,g++,gcc,ps,cat,sort,grep,kill,less,ls -l ,

    33.less sample.txt 分页输出文件内容到屏幕 34./search content (搜索内容) 可以将文档中有searchcontent 的行输出到屏幕 35.grep scienc ...

  6. Calendar 类的应用

    上一篇 说的 Date 类 最主要的作用就是获得当前时间,同事这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多的批评,不推荐使用,要推荐使用Calendar 类进 ...

  7. mysql自增

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

  8. OnePlus One(一加1)刷机Kali Nethunter完整教程

    设备信息: 设备名称:OnePlus One(一加1) OS:ColorOS 1.2 设备型号:A0001 目标: 在OnePlus One(一加1)上将 ColorOS 1.2 刷机为 Kali N ...

  9. MD5Untils加密工具类

    package com.dzq.utils; import java.math.BigInteger; import java.security.MessageDigest; import java. ...

  10. effective c++(03)之const使用方法

    char greeting[] = "hello"; char* p = greeting; //non-const pointer,non-const data const ch ...