[Noi online-j]T1 切蛋糕
[Noi online-j]T1 切蛋糕
- 题面
- 题目描述
- 输入格式
- 输出格式
- 样例
- 解析
- 代码
题面
题目描述
Alice、Bob 和 Cindy 三个好朋友得到了一个圆形蛋糕,他们打算分享这个蛋糕。
三个人的需求量分别为a,b,ca,b,ca,b,c,现在请你帮他们切蛋糕,规则如下:
每次切蛋糕可以选择蛋糕的任意一条直径,并沿这条直径切一刀(注意切完后不会立刻将蛋糕分成两部分)。
设你一共切了 nnn 刀,那么你将得到 2n2n2n 个扇形的蛋糕(特别地,切了 000 刀被认为是有一个扇形,即整个圆形蛋糕),将这些蛋糕分配给 Alice,Bob 和 Cindy,要求每个扇形蛋糕只能完整地分给一个人。
三人分到的蛋糕面积比需要为 a:b:ca:b:ca:b:c(不保证是最简比例,且如果 a:b:ca:b:ca:b:c 中某个数为 000,表示那个人不吃蛋糕)。
为了完成这个任务,你至少需要切几刀?
输入格式
本题单个测试点包含多组数据。
第一行包含一个整数 TTT,表示数据组数。
接下来 TTT 行,每行包含三个整数 a,b,ca,b,ca,b,c,表示三人的需求量。
输出格式
输出 TTT 行,第 iii 行的输出表示第 iii 组数据中你至少需要切蛋糕的次数。
样例
in
6
0 0 8
0 5 3
9 9 0
6 2 4
1 7 4
5 8 5
out
0
2
1
2
3
2
样例解释
数据范围与提示
30%30\%30%的数据满足:a=b=0a=b=0a=b=0。
60%60\%60% 的数据满足:a=0a=0a=0。
100%100\%100%的数据满足:1≤T≤104,0≤a,b,c≤1081\le T\le 10^4,0\le a,b,c\le 10^81≤T≤104,0≤a,b,c≤108 ,保证 a+b+c>0a+b+c>0a+b+c>0。
解析
看到TGT1多项式,我把这题当数论做了好久
可以易证,3个人最多只要切3刀就可以实现任意比值:
然后就来讨论特殊情况:(假设A≤B≤CA\le B\le CA≤B≤C)
- 当A=0A=0A=0时:两线重合,切两次
- 当A=B=0A=B=0A=B=0时:不用切
- 当A+B=CA+B=CA+B=C时
3.1 A≠0A \not=0A=0:切两次
3.2 A=0A = 0A=0:切一次
- a=b&b≠ca=b \& b\not=ca=b&b=c:
综上所述这是道分类讨论结论题
if(a==0){if(b==0){print(0);}else if(b==c){print(1);}else {print(2);}
}
else if(a==b||b==c){print(2);}
else {if(a+b==c){print(2);}else{print(3);}
}
代码
#include<bits/stdc++.h>
using namespace std;
long long N,x[3],a,b,c;
void print(long long a){printf("%lld\n",a);}
int main(){scanf("%lld",&N);for(int i=1;i<=N;i++){scanf("%lld%lld%lld",&x[0],&x[1],&x[2]);sort(x,x+3);a=x[0],b=x[1],c=x[2];if(a==0){if(b==0){print(0);}else if(b==c){print(1);}else {print(2);}}else if(b==c||a==b){print(2);}else {if(a+b==c){print(2);}else{print(3);}}}return 0;
}
[Noi online-j]T1 切蛋糕相关推荐
- 【寒假每日一题】洛谷 P7471 [NOI Online 2021 入门组] 切蛋糕
题目链接:P7471 [NOI Online 2021 入门组] 切蛋糕 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 Alice.Bob 和 Cindy 三个好朋友得到 ...
- 洛谷刷题C语言:切蛋糕、概率、Bridž、NOTE、DOMINO
记录洛谷刷题C语言qaq [NOI Online 2021 入门组] 切蛋糕 题目描述 Alice.Bob 和 Cindy 三个好朋友得到了一个圆形蛋糕,他们打算分享这个蛋糕. 三个人的需求量分别为 ...
- 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——A题 切蛋糕
题目描述 龙龙有一块蛋糕,现在他想将蛋糕平均切成k块,分给他的k名hxd.但是不幸的是,因为龙龙不擅长切蛋糕,他每一次只能将一块蛋糕平均分成两份.例如,将一块大小为1的蛋糕分割成两块大小为1/2的蛋糕 ...
- 切蛋糕(洛谷P1714)
切蛋糕 题目描述 今天是小Z的生日,同学们为他带来了一块蛋糕.这块蛋糕是一个长方体,被用不同色彩分成了N个相同的小块,每小块都有对应的幸运值. 小Z作为寿星,自然希望吃到的第一块蛋糕的幸运值总和最大, ...
- 算法实践:切蛋糕(动态规划)
切蛋糕 描述 有一块矩形蛋糕,宽和高分别是整数w.h.现要将其切成m块小蛋糕,每个小蛋糕都必须是矩形.且宽和高均为整数.切蛋糕时,每次切一块蛋糕,将其分成两个矩形蛋糕.请计算:最后得到的m块蛋糕中,最 ...
- 【第一周补题】:切蛋糕
问题可以简化成有一个 n × n × n n\times n \times n n×n×n大小的正方体,以一个顶点为原点建立三维坐标系,以相连接的三条棱为三个坐标轴. 假设切蛋糕的刀面,必定与三个坐标 ...
- zoj 3537 cake 切蛋糕 区间DP+凸包+递归 最优三角形剖分
题意:给出一些点表示多边形蛋糕的定点的位置(如果蛋糕是凹多边形就不能切),切蛋糕时每次只能在顶点和顶点间切,每一次切蛋糕都有相应的代价,给出代价的公式,问把蛋糕切成多个三角形的最小代价是多少 由于有可 ...
- 湖大程序设计作业 控制台动画-切蛋糕
[题目描述] 利用上次小班第五题的黑框绘制函数功能,绘制一张方布.方布上放着小明的正方形蛋糕,由不同的颜色和不同大小的方块组成.每次延时一秒后,绘制出分掉某块后的方布和蛋糕图形.最终在方布上显示一个数 ...
- 漫画:有趣的 “切蛋糕“ 问题
----- 第二天 ----- 举个例子: 我们有5块蛋糕, 蛋糕的大小分别是 5,17,25,3,15 我们有7位顾客, 他们的饭量分别是 2,5,7,9,12,14,20 (每个蛋糕大小和顾客 ...
- AI在中国,还没到抢切蛋糕的时候
李根 发自 凹非寺 量子位 报道 | 公众号 QbitAI 他们中的不少名字,之前并不广为人知. 刘全全.王宇杰.王昌宝.帅靖文.张顺丰.蒋尚达.余革年.闵可锐.宋洪伟.李晓普.张晓伟.王峰.董倩倩 ...
最新文章
- 整合NHibernate到Spring.Net (之一)
- 海康设备字母编号含义 H5:0,H7:1,KT2:2,G5:3
- Java Web 程序设计----基于SSM框架(正在更新中)
- Java AOP研究之how is my aop2 method called
- CF 1529C Parsa‘s Humongous Tree
- spring mvc 实现单文件 || 多文件上传
- 服务器怎么打开本地电脑文件夹,如何在云服务器上打开本地文件夹
- Linux的进程/线程/协程系列4:进程知识深入总结:上篇
- C++新特性探究(四):Raw String Literals
- 屏幕监控中捕获鼠标位置信息
- 减速箱箱体尺寸是怎样计算的_手把手教你解剖减速机
- MixGo V1.0 发布,混合型高性能 Go 框架
- C/C++ 高质量编程--内存,二重指针,指针的高级使用解析 3
- Python分词及词性划分
- python repr函数_python的str和repr函数
- xp进入win7计算机要密码怎么设置密码,XP系统设置直接跳过密码的多种方法
- EGPU use in NUC about ubuntu20.04.5
- 【华为思科】访问web服务器
- STC89C52单片机
- 小苹果活动助手1.27最新版电脑版