首页 > 编程语言 >[AtCoder-AT_ABC108_B]题解(C++)

[AtCoder-AT_ABC108_B]题解(C++)

时间:2023-05-06 09:57:37浏览次数:55  
标签:AtCoder x1 题解 C++ y1 x2 x3 y3 y2

Part I Preface

原题目(Luogu)
原题目(AtCoder)

Part II Sketch

Part III Analysis

观察这道题,我们很容易想到,必须推导出 \(x1, y1, x2, y2\) 与 \(x3, y3, x4, y4\) 之间的关系。
我们观察下图。
image
可以发现:
\(\begin{aligned}\begin{cases}x3 = x2 - (y2 - y1)\\ y3 = y2 + (x2 - x1)\\x4 = x3 - (x2 - x1)\\y4 = y3 - (y2 - y1)\end{cases}\end{aligned}\)

套公式计算即可。

Part IV Code

#include <iostream>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
int x1, x2, y1, y2;
int x3, x4, y3, y4;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin >> x1 >> y1 >> x2 >> y2;
    x3 = x2 - (y2 - y1);
    y3 = y2 + (x2 - x1);
    x4 = x3 - (x2 - x1);
    y4 = y3 - (y2 - y1);
    cout << x3 << " " << y3 << " " << x4 << " " << y4;
    return 0;
}

Part V Record


Record

标签:AtCoder,x1,题解,C++,y1,x2,x3,y3,y2
From: https://www.cnblogs.com/silentBlog/p/17375993.html

相关文章

  • [CodeForces-143A]题解(C++)
    PartIPreface原题目(Luogu)原题目(CodeForces)PartIISketch设有一个\(2\times2\)的棋盘,上面可以填入\(1-9\)的数字。给出\(6\)个数字,为每行每列以及每个对角线上的数字之和,求相应的摆放方式,无解输出\(-1\)。PartIIIAnalysis观察此题数据规模,不难发现数据......
  • [CodeForces-1104A]题解(C++)
    PartIPreface原题目(Luogu)原题目(CodeForces)PartIISketch给定一个整数\(n\)。将\(n\)拆分成一个数列\(a_1,a_2,a_3,\dots,a_m\)。使得\(\sum\limits_{k=1}^{m}a_k=n\),每个\(a_i\in[0,9]\)且数列中不相同的数的数量尽量少。PartIIIAnalysis我们很容易......
  • c++打卡第十九天
    一、问题描述 二、设计思路。①、定义总鱼数为x条,这个x我们需要使用double类型定义,②、第一次剩余x1=x-(x/2+1/2);第二次剩余x2=x1-(x1/3+1/3)第三次剩余x3=x2-(x2/4+1/4)第四次剩余x4=x3-(x3/5+1/5)x4=11;③、我们可以使用循环实现此方程。即x-(x/j+1/j);③、使用数组存储每次卖鱼......
  • C++类模板(模板类)
    参考资料:C++类模板(模板类)详解(biancheng.net) 人们需要编写多个形式和功能都相似的函数,因此有了函数模板来减少重复劳动;人们也需要编写多个形式和功能都相似的类,于是 C++ 引人了类模板的概念,编译器从类模板可以自动生成多个类,避免了程序员的重复劳动。例如,在《C++运算符重......
  • C++11生成随机数
    一、random_device类classrandom_device{public:typedefunsignedintresult_type;//constructor构造函数explicitrandom_device(conststd::string&token="");//propertiesstaticresult_typemin();staticresult_typemax()......
  • 【模板】堆 题解
    题目传送门一道小根堆模板题。在做这道题之前,我们先介绍一下小根堆是什么。我们定义小根堆是一种对于任何一个父结点的权值总是小于或等于子节点权值的完全二叉树。因此,不难看出,一个小根堆的堆顶(这棵树的根节点)应该是这个堆(树)中权值最小的结点。简单介绍完了小根堆,我们再介绍......
  • 【ABC298C】题解
    思路一道很好的复习数据结构的题。对于第\(1\)个问答(既第\(2\)种操作),我用一个小根堆(优先队列,\(\text{priority\_queue}\))来储存第\(i\)个盒子的卡牌。对于第\(2\)个问答(既第\(3\)种操作),我用一个\(\text{set}\)来储存编号为\(i\)个卡牌在哪些盒子里。由于\(\tex......
  • C++中的多线程编程和同步机制
    C++中的多线程编程和同步机制使得程序员可以利用计算机的多核心来提高程序的运行效率和性能。本文将介绍多线程编程和同步机制的基本概念和使用方法。多线程编程基础在C++中,使用<thread>库来创建和管理线程。线程可以通过函数、成员函数或者Lambda表达式来实现。以下是一个使......
  • 【学习笔记】【题解】树形依赖 DP 选做
    地址:https://www.cnblogs.com/FReQuenter5156/p/shuxingyilaidp.html/简介这类背包本质上是分组背包问题。将一个节点的每一棵子树看作一组,进行分组背包。所谓分组背包,即在选择物品的时候,一开始将物品分为好几组,在选择时,可以从每一组中至多选择一件物品,问如何获得最大的价值,所......
  • C++容器(vector、deque、list、map)
    (1)vector:将元素置于一个动态数组中,可以随机存储元素(也就是用索引直接存取)。数组尾部添加或删除元素非常迅速。但在中部或头部就比较费时。*代码演示:*取:at在下标越界时会抛出异常,我们能捕获异常进行处理;而[]下标越界会让程序直接终止;构造函数:cbegin,cend,crbegin,cren......