洛谷 P4160 [SCOI2009]生日快乐

news/2024/11/24 6:41:10/

PS:如果读过题了可以跳过题目描述直接到题解部分

提交链接:洛谷 P4160 [SCOI2009]生日快乐

题目

题目描述

windy 的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕。

现在包括 windy,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的蛋糕。

windy 主刀,每一切只能平行于一块蛋糕的一边(任意一边),并且必须把这块蛋糕切成两块。

这样,要切成 N 块蛋糕,windy 必须切 N−1 次。

为了使得每块蛋糕看起来漂亮,我们要求 N 块蛋糕的长边与短边的比值的最大值最小。

你能帮助 windy 求出这个比值么?

输入格式

一行三个整数 X,Y,N。

输出格式

一行一个浮点数,保留 6 位小数。

样例

输入

5 5 5

输出

1.800000

说明/提示

对于 100% 的数据,满足 1≤X,Y≤10^4,1≤N≤10。

题解

这道题看着数据范围那么小,其实就能想到直接搜索。

但需要注意的是搜的时候要把每种情况的搜到,就是其中一块是横着切还是竖着切,是切成几比几的大小(不要像我一样偷懒只写了较长边尽量中分的情况,会WA!而且还不知道到底是为什么),反正这道题暴搜就对了,放心搜,不会T的。

代码实现

//洛谷 P4160 [SCOI2009]生日快乐
#include<iostream>
#include<cstdio>
using namespace std;
int x,y,n;int gcd(int x,int y){if(y==0){return x;}return gcd(y,x%y);
}double qie(int x,int y,int n){if(x<y){swap(x,y);}int g=gcd(x,y);if(g!=1){x/=g;y/=g;}if(n==1){return x*1.0/y;}double ans=10000000;for(int i=1;i<n;++i){ans=min(max(qie(x*n,y*i,i),qie(x*n,y*(n-i),n-i)),ans);ans=min(max(qie(x*i,y*n,i),qie(x*(n-i),y*n,n-i)),ans);}return ans;
}int main(){scanf("%d%d%d",&x,&y,&n);printf("%.6lf\n",qie(x,y,n));return 0;
}


http://www.ppmy.cn/news/325676.html

相关文章

BZOJ.4160.[NEERC2009]Exclusive Access 2(状压DP Dilworth定理)

BZOJ DAG中&#xff0c;根据\(Dilworth\)定理&#xff0c;有 \(最长反链最小链覆盖\)&#xff0c;也有 \(最长链最小反链划分数-1\)&#xff08;这个是指最短的最长链&#xff1f;并不是很确定-&#xff09;&#xff0c;即把所有点划分成最少的集合&#xff0c;使得集合内的点两…

luogu P4160 [SCOI2009]生日快乐

传送门 考虑因为每个人的蛋糕体积要相等,如果切了一刀,那么要使得分当前蛋糕的人根据分成的两部分蛋糕的体积分成两部分人,所以假设当前有n人,切的这一刀要是在x或y的\(\frac{k}{n}(k\in N_,k\in [1,n])\)处,然后两边分别有\(k\)和\(n-k\)个人分,所以分治做下去救星了 更多内容…

2023-06-11 LeetCode每日一题(从链表中删去总和值为零的连续节点)

2023-03-29每日一题 一、题目编号 1171. 从链表中删去总和值为零的连续节点二、题目链接 点击跳转到题目位置 三、题目描述 给你一个链表的头节点 head&#xff0c;请你编写代码&#xff0c;反复删去链表中由 总和 值为 0 的连续节点组成的序列&#xff0c;直到不存在这样…

[BZOJ]4160: [Neerc2009]Exclusive Access 2 状压DP+Dilworth定理

Description 给出 N 个点M 条边的无向图&#xff0c;定向得到有向无环图&#xff0c;使得最长路最短。 N ≤ 15, M ≤ 100 Solution 大家都知道Dilworth定理的其中一个内容&#xff1a;最小路径覆盖最长反链。 实际上与之相似的是&#xff1a;最长路最小反链划分数。 这个东…

P4160 [SCOI2009]生日快乐

传送门 一看 $n$ 这么小&#xff0c;搜就完事了... 因为最后每块小蛋糕面积固定&#xff0c;所以每次切完面积都必须是小蛋糕面积的倍数 那么最多只有第一次有 $10$ 个位置&#xff0c;之后越来越少&#xff0c;复杂度很低 然后注意不要乱剪枝...&#xff0c;每次切不一定只切长…

hdu4160 Dolls

http://www.elijahqi.win/2017/12/31/hdu4160-dolls/ ‎ Problem Description Do you remember the box of Matryoshka dolls last week? Adam just got another box of dolls from Matryona. This time, the dolls have different shapes and sizes: some are skinny, some…

hdoj 4160 Dolls

http://acm.hdu.edu.cn/showproblem.php?pid4160 转化为二分图的最小路径覆盖问题。 那么答案就是n-最大匹配数 View Code #include<iostream> #include<string.h> #include<algorithm> #include<stdio.h> #include<vector> #define maxn 1000…

BZOJ4160 [Neerc2009]Exclusive Access 2 题解(Dilworth定理+状压DP)

题目&#xff1a;BZOJ4160. 题目大意&#xff1a;给定一张 n n n个点 m m m条边无向图&#xff0c;要求给每条边定向&#xff0c;求定向后有向图上的最长路最短是多少. 1 ≤ n ≤ 15 , 1 ≤ m ≤ 100 1\leq n\leq 15,1\leq m\leq 100 1≤n≤15,1≤m≤100. 首先&#xff0c;最…