Gym-101375C MaratonIME eats japanese food 初始化struct技巧
题意:两种操作: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技巧的更多相关文章
- Gym - 101375H MaratonIME gets candies 交互题
交互题介绍:https://loj.ac/problem/6 题意:输出Q X ,读入><= 来猜数,小于50步猜出就算过样例 题解:根本不需要每次输出要打cout.flush()... ...
- 对struct和class使用大括号初始化的测试
#include <iostream> using namespace std; struct struct1{ /* struct1(){ cout<<"this ...
- C++ struct 定义及初始化
1 定义: struct Book{ unsigned int bookNo; string name; }; 2 初始化 struct的初始化分为三种:逐一赋值,顺序赋值,乱序赋值 // 逐一 ...
- C#中结构(struct)的部分初始化和完全初始化
假设有这样一个值类型struct. public struct Size { public int Length; public int Width; public int Area() { retu ...
- Swift----方法 、 下标 、 继承 、 初始化 、 析构方法 、 可选链
下标的使用 1.1 问题 下标可以定义在类.结构体和枚举中,可以认为是访问对象.集合或序列的快捷方式,不需要再调用实例的特定的赋值和访问方法. 本案例定义一个Matrix结构体,用于呈现一个Doubl ...
- 【2016-08-18】转载:总结C++中几种结构体初始化的方法
作者:Ac_Von 博客地址:http://www.cnblogs.com/vongang/ 文章地址:http://www.cnblogs.com/vongang/archive/2011/07/3 ...
- c++11的初始化
c++11 中类型初始更加方便 比如 vector<int> vec = {1,2,3}; vector<int> vec{1,2,3}; map<string, ...
- C基础--结构体成员初始化方式
之前在linux内核代码中看到结构体成员成员初始化使用类似于.owner = THIS_MODULE, 不太见过,于是搜了个博客,分享下: 转自:http://www.cnblogs.com/Anke ...
- GameMap地图初始化
init_map(res_path) .初始化mapbase的基本信息 pos2d screen_area = {, }; //普通屏幕大小 m_spBase->init(screen_area ...
随机推荐
- ECharts 3 -- gauge表盘的配置项
绘制一个简单的表盘图表 在绘图前我们需要为 ECharts 准备一个具备高宽的 DOM 容器. <body> <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM --& ...
- CentOS 6.4 SSH 免密码登录
在配置apache集群分布时,要使用SSH免密码登录.假设现在有两台机器apache@svn(192.168.1.100)作为svn机,apache@app(192.168.1.101)作为app机. ...
- 【安全开发】PHP安全编码规范
申明:本文非笔者原创,原文转载自:https://github.com/SecurityPaper/SecurityPaper-web/blob/master/_posts/2.SDL%E8%A7%8 ...
- 浏览器解析html全过程详解
前端文摘:深入解析浏览器的幕后工作原理 关于浏览器解析html全过程详解 输入URL到浏览器接收返回的数据的整个过程 TCP报文格式详解 IP报文格式详解 Linux IO模式及 select.pol ...
- 微信小程序学习指南
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- MDU某产品OMCI模块代码质量现状分析
说明 本文参考MDU系列某产品OMCI模块现有代码,提取若干实例以说明目前的代码质量,亦可作为甄别不良代码的参考. 本文旨在就事论事,而非否定前人(没有前人的努力也难有后人的进步).希望以史为鉴,不破 ...
- Android设计和开发系列第二篇:Navigation Drawer(Develop)
Creating a Navigation Drawer THIS LESSON TEACHES YOU TO: Create a Drawer Layout Initialize the Drawe ...
- WP8.1学习系列(第二十五章)——控件样式
XAML 框架提供许多自定义应用外观的方法.通过样式可以设置控件属性,并重复使用这些设置,以便保持多个控件具有一致的外观. 路线图: 本主题与其他主题有何关联?请参阅: 使用 C# 或 Visua ...
- Qt自定义控件大全(一)云台仪表盘控件
做过安防视频监控的同学都清楚,在视频监控系统软件上都可以看到一个云台控制区域,可以对球机进行下下左右等八个方位的运动控制,还可以进行复位,一般都是美工作图好,然后贴图的形式加入到软件中,好处是程序简单 ...
- 检测硬件RDMA卡是否存在
1.检查网卡是否安装成功: # lspci | grep Mellanox 83:00.0 Ethernet controller: Mellanox Technologies MT27710 Fam ...