Content

有一个 \(l\times w\) 大小的网格,其四周均被染成了红色,其余部分是棕色,已知红色网格与棕色网格的数量,求 \(l\) 与 \(w\) 的值。

Solution

接下来给各位上演一波大 力 解 方 程。

我们设红色格子的个数是 \(r\),棕色格子的个数是 \(b\)。那么我们通过题目给出的图可以看出棕色格子所占的矩形长 \(l-2\),宽 \(w-2\)。那么可以得到等式 \((l-2)(w-2)=b\)。

又由于我们知道网格只被涂成了红色和棕色,因此我们又得到了一个等式 \(lw=b+r\)。

由此我们得到了一个方程组:

\[\begin{cases}(l-2)(w-2)=b&(1)\\lw=b+r&(2)\end{cases}
\]

我们发现这个 \((1)\) 式不做变换的话不好进行后面的计算,因此我们考虑把 \((1)\) 式拆开:

\[\begin{aligned}lw-2l-2w+4&=b\\lw&=b+2(l+w)-4\end{aligned}
\]

然后我们发现,\(lw\) 既可以表示成 \(b+r\),也可以表示成 \(b+2(l+w)-4\),因此我们又得到了一个等式:

\[\begin{aligned}b+2(l+w)-4&=b+r\\2(l+w)-4&=r\\2(l+w)&=r+4\\l+w&=\dfrac{r+4}2\end{aligned}
\]

我们再一起看一下这两个等式:

\[\begin{cases}l+w=\dfrac{r+4}2\\lw=b+r\end{cases}
\]

我们发现,这就是一个典型的韦达定理,即 \(x_1+x_2=-\dfrac ba\),\(x_1x_2=\dfrac ca\),于是我们不妨将 \(l,w\) 看作是一个一元二次方程的两个根,于是我们就可以得到这个一元二次方程 \(x^2-\dfrac{r+4}2+r+b=0\)。

又由于题目告诉我们,\(l,w\) 保证有解,于是我们解这个方程,得:

\[x_1=\dfrac{\dfrac{r+4}2+\sqrt{\dfrac{(r+4)^2}4-4(r+b)}}{2}=\dfrac{r+4+\sqrt{(r+4)^2-16(r+b)}}{4}
\]
\[x_2=\dfrac{\dfrac{r+4}2-\sqrt{\dfrac{(r+4)^2}4-4(r+b)}}{2}=\dfrac{r+4-\sqrt{(r+4)^2-16(r+b)}}{4}
\]

又由于我们的 \(r,b\) 都是正整数,因此我们可以推出 \(x_1>x_2\),因此不需要再去比较交换什么的就可以直接输出。

Code

因为代码实在是太简单,就给各位自己写吧qwq。

SP8374 PARKET1 - PARKET 题解的更多相关文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  2. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  3. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  4. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  5. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  6. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  7. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  8. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

  9. CF100965C题解..

    求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...

随机推荐

  1. 【Tool】MySQL卸载

    MySQL卸载 2019-11-07  13:23:00  by冲冲 1.停止MySQL服务 右击"计算机" -- "管理" -- 左击"服务和应用程 ...

  2. 31、下一个排列 | 算法(leetode,附思维导图 + 全部解法)300题

    零 标题:算法(leetode,附思维导图 + 全部解法)300题之(31)下一个排列 一 题目描述 二 解法总览(思维导图) 三 全部解法 1 方案1 1)代码: // 方案1 "双指针法 ...

  3. 洛谷 P5471 - [NOI2019] 弹跳(二维线段树优化建图+堆优化存边)

    题面传送门 一道非常有意思的题(大概可以这么形容?) 首先看到这类一个点想一个区域内连边的题目可以很自然地想到线段树优化建图,只不过这道题是二维的,因此需要使用二维线段树优化建图,具体来说,我们外层开 ...

  4. Codeforces 571E - Geometric Progressions(数论+阿巴细节题)

    Codeforces 题目传送门 & 洛谷题目传送门 u1s1 感觉此题思维难度不太大,不过大概是细节多得到了精神污染的地步所以才放到 D1E 的罢((( 首先我们对所有 \(a_i,b_i\ ...

  5. Oracle——创建多个实例(数据库)、切换实例、登录数据库实例

    oracle中怎么创建多个实例? 其实很简单,怎么创建第一个实例,其他实例应该也怎么创建. 我的理解其实在linux中的oracle数据库中创建一个实例,实际上就是创建一个新的数据库,只是实例名字不同 ...

  6. C7的开机自启动设置

    CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分 系统服务放在/usr/lib/systemd/system [Un ...

  7. 面向多场景而设计的 Erda Pipeline

    作者|林俊(万念) 来源|尔达 Erda 公众号 Erda Pipeline 是端点自研.用 Go 编写的一款企业级流水线服务.截至目前,已经为众多行业头部客户提供交付和稳定的服务. 为什么我们坚持自 ...

  8. 报错:Unsupported field: HourOfDay

    报错:Unsupported field: HourOfDay 这个错误就比较搞笑也比较低级了. 代码如下 LocalDate now = LocalDate.now(); String year = ...

  9. JavaScript 链表

    ------------恢复内容开始------------ 背景 数组并不总是组织数据的最佳数据结构,原因如下.在很多编程语言中,数组的长度是固定的,所以当数组已被数据填满时,再要加入新的元素就会非 ...

  10. JDBC(1):JDBC介绍

    一,JDBC介绍 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC.这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加 ...