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 ...
随机推荐
- 【Postgres】dump数据库备份与还原
备份 pg_dump.exe -h localhost -p 5432 -U postgres -F plain -v -f C:\Backup.sql db1 2> C:\Backup.log ...
- 8 -- 深入使用Spring -- 3...3 使用Resouce作为属性
8.3.3 使用Resouce作为属性 当应用程序中的Bean实例需要访问资源时,Spring可以直接利用依赖注入. 如果Bean实例需要访问资源,有如下两种解决方案: ⊙ 在代码中获取Resourc ...
- ZTree id值太大,ZTree没有生成树,ZTree的id值过大
ZTree id值太大,ZTree没有生成树,ZTree的id值过大 >>>>>>>>>>>>>>>> ...
- mysql类型对应Java的类型
整型 JDBCtinyint java.lang.Integersmallintmediumint java.lang.Longint bigint ...
- Ansible 远程执行脚本
1. 先在服务端创建一个 shell 脚本 [root@localhost ~]$ cat /tmp/test.sh #!/bin/bash echo "hello world" ...
- [Vim] Vim 常用基本操作
1. 导航 1.1. 查看行号 :set number 显示行号 :set number! 隐藏行号 :.= 在底部显示当前行号 := 在底部显示总行号 1.2. 移动光标 0 或 ^ ...
- mybatis 之 resultType="HashMap" parameterType="list"
public ServiceMessage<List<Map<String, Object>>> queryGoodsStockInfo(List<Long& ...
- es5.0 安装head插件
es5.0的安装和之前的版本有些区别,我的电脑用plugin install 没成功, 查了一下资料,说是可以用grunt进行安装,启动; 1,先安装grunt: grunt是一个很方便的构建工具,可 ...
- (iOS)使用auto layout进行复杂布局时,UILabel的相关trick
本文转载至 http://blog.csdn.net/madongchunqiu/article/details/47960745 本文首发于CSDN:http://blog.csdn.net/ma ...
- YII2 model 字段验证提示 Unknown scenario: update
意思是 update 场景不存在,也就是 定义的 rules 中没有该规则: /** * @inheritdoc * 验证规则 */ public function rules() { return ...