题意:两种操作:A ,R 分别有三个参数,表示放或者移走(x,y)处半径为r的盘子。5000次操作,每次操作判断是否可行。

题解:两种情况不行:1.相交2.放到桌子外面。5000的数据直接模拟,删除操作用e[i]=0代替

//之前一直wa 原因不明,大概是写得太复杂。。。

/*吐槽一下vs莫名奇妙的报错if(e[i]==0&& p[i].x == x1&&y1 == p[i].y&&r1 == p[i].r)“必须是可修改的左值。”所以改成了

if(e[i]==0)if (p[i].x == x1)if(y1 == p[i].y)if(r1 == p[i].r)后来改回了去就不报错了,也能ac.

最后发现是自己y1 == p[i].y写成了y1 = p[i].y...Orz*/

  

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
#include<string.h>
#include<stdio.h>
using namespace std;
int cnt = ;
struct plate {
int x, y, r;
plate(int x=,int y=,int r=):x(x),y(y),r(r){}
}p[];
bool e[];//0 exist
bool ok(struct plate z) {
for (int i = ; i <= cnt; i++) if(e[i]==){
if (z.x<||z.x>||z.y<||z.y>||(p[i].r + z.r)*(p[i].r + z.r) > (p[i].x - z.x)*(p[i].x - z.x) + (p[i].y - z.y)*(p[i].y - z.y)) return ; }
return ;
}
int main() {
int t;
cin >> t; while (t--) {
string s;
cin >> s;
int x1, y1, r1;
cin >> x1 >> y1 >> r1;
if (s == "A") {
if (cnt == || ok(plate(x1, y1, r1)))
{
p[++cnt] = plate(x1, y1, r1);
cout << "Ok" << endl;
}
else cout << "No" << endl;
}
else {
int o = ;
for (int i = ; i <= cnt; i++)if(e[i]==)if (p[i].x == x1)if(y1 == p[i].y)if(r1 == p[i].r) {
e[i] = ;
cout << "Ok"<<endl;
o = ; break;
}
if (o == )cout << "No" << endl;
} } }

Gym-101375C MaratonIME eats japanese food 初始化struct技巧的更多相关文章

  1. Gym - 101375H MaratonIME gets candies 交互题

    交互题介绍:https://loj.ac/problem/6 题意:输出Q X ,读入><= 来猜数,小于50步猜出就算过样例 题解:根本不需要每次输出要打cout.flush()... ...

  2. 对struct和class使用大括号初始化的测试

    #include <iostream> using namespace std; struct struct1{ /* struct1(){ cout<<"this ...

  3. C++ struct 定义及初始化

    1 定义: struct Book{ unsigned int bookNo; string name; }; 2 初始化 struct的初始化分为三种:逐一赋值,顺序赋值,乱序赋值 //    逐一 ...

  4. C#中结构(struct)的部分初始化和完全初始化

    假设有这样一个值类型struct. public struct Size { public int Length; public int Width; public int Area() { retu ...

  5. Swift----方法 、 下标 、 继承 、 初始化 、 析构方法 、 可选链

    下标的使用 1.1 问题 下标可以定义在类.结构体和枚举中,可以认为是访问对象.集合或序列的快捷方式,不需要再调用实例的特定的赋值和访问方法. 本案例定义一个Matrix结构体,用于呈现一个Doubl ...

  6. 【2016-08-18】转载:总结C++中几种结构体初始化的方法

    作者:Ac_Von 博客地址:http://www.cnblogs.com/vongang/ 文章地址:http://www.cnblogs.com/vongang/archive/2011/07/3 ...

  7. c++11的初始化

    c++11 中类型初始更加方便 比如     vector<int> vec = {1,2,3}; vector<int> vec{1,2,3}; map<string, ...

  8. C基础--结构体成员初始化方式

    之前在linux内核代码中看到结构体成员成员初始化使用类似于.owner = THIS_MODULE, 不太见过,于是搜了个博客,分享下: 转自:http://www.cnblogs.com/Anke ...

  9. GameMap地图初始化

    init_map(res_path) .初始化mapbase的基本信息 pos2d screen_area = {, }; //普通屏幕大小 m_spBase->init(screen_area ...

随机推荐

  1. HybridApp启动引导页的实现

    有一种帅叫做长话短说,@孙红雷,--这可以叫做“短帅”吗,^_^ 首先说下思路,既然是Hybrid APP, 那就是可以用html的方式实现,启动引导页比较常见的展示方式是滑动,那么我们就可以使用图片 ...

  2. JQuery Mobile难点备忘

    1 固定header: data-position="fixed",如果仅仅是加了这个属性,当页面出现滚动条的时候点击页面内容,header还是会隐藏显示全屏,如果不需要这样,加入 ...

  3. NetBpm Q&A(7)

    原文:NetBPM工作流的一个示例:请假审批 前言 在NetBPM的实践与应用中,大家一定会遇到各种各样的问题,笔者特建此帖, 聚集了一些典型问题,并作了初步解答.本帖将不断更新,大家有什么问题,可以 ...

  4. java的子类覆盖梗

    项目上线,用户注册时验证码一直报错误,数据库也没问题,代码貌似也没问题. 后面排查到最后,发现是一个子类覆盖父属性问题. JAVA代码中,子类覆盖父类的私有.保护属性,如果不设置get.set方法,拿 ...

  5. 消息中间件activemq-5.14.1安全验证配置

    activemq分为控制端和客户端,下面分别介绍安全认证配置方法. 1.控制端安全配置 (1). ActiveMQ目录conf下找到jetty.xml: <bean id="secur ...

  6. linux下jdk简单配置记录

    记录哈,搭建环境的时候,copy使用方便. vim /etc/profile export JAVA_HOME=/usr/java/jdk1.7.0_79export PATH=$JAVA_HOME/ ...

  7. this关键字制定对象的属性

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. linux源码编译安装php出现 cannot find -lltdl

    原因: 在编辑php时添加的“–with-mcrypt”选项造成. 解决方法: 1.如果不需要mcrypt,那么编辑php时去掉该选项,然后再make.make install. 2.如果需要mcry ...

  9. iptables常用规则

    删除现有规则 iptables -F (OR) iptables --flush 设置默认链策略 iptables的filter表中有三种链:INPUT, FORWARD和OUTPUT.默认的链策略是 ...

  10. MDU某产品OMCI模块代码质量现状分析

    说明 本文参考MDU系列某产品OMCI模块现有代码,提取若干实例以说明目前的代码质量,亦可作为甄别不良代码的参考. 本文旨在就事论事,而非否定前人(没有前人的努力也难有后人的进步).希望以史为鉴,不破 ...