称号:放置在一个圆中的矩形,它要求每个圆的每行或列是切线,问:多少能竖起来。

分析:计算几何。数论。首先计算矩形显示屏,然后计算互显示器(每一行与相邻行相同差1个月)求最大,你可以。

说明:╮(╯▽╰)╭作为全球最大的显示器WA美好时光。

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cmath> using namespace std; //题目方式摆放
int getmin(double x, double y)
{
int a = (int)x,m = 0;
int b = (int)(2.0*(y-1.0)/sqrt(3.0))+1;
if (m < a*b-b/2)
m = a*b-b/2;
a = (int)x;
if (a+0.5 <= x && m < a*b)
m = a*b;
return m;
} //最大数目摆放
int getmax(double x, double y)
{
int a = (int)x,m = 0;
//n+1,n,n+1方式
while (a > 1 && y >= 1) {
double d = (x-1.0)/(a-1.0);
if (d >= 2) break;
double r = sqrt(1.0-0.25*d*d);
if (r < 0.5) r = 0.5;
int b = (int)((y-1.0)/r)+1;
if (m < a*b-b/2)
m = a*b-b/2;
a --;
}
//n,n,n方式
a = (int)x;
while (a > 0 && y >= 1) {
double d = 2*(x-1.0)/(2*a-1.0);
if (d >= 2) break;
if (d >= 1) {
double r = sqrt(1.0-0.25*d*d);
if (r < 0.5) r = 0.5;
int b = (int)((y-1.0)/r)+1;
if (m < a*b)
m = a*b;
}
a --;
}
return m;
} int main()
{
double x,y;
while (cin >> x >> y) {
int n = (int)x*(int)y,m = 0,p,q; p = getmin(x, y);
if (p > m) m = p;
q = getmin(y, x);
if (q > m) m = q; if (m > n && x >= 1 && y >= 1)
cout << m << " skew" << endl;
else cout << n << " grid" << endl;
}
return 0;
}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

UVa 121 - Pipe Fitters的更多相关文章

  1. UVA 303 Pipe

    点击打开链接 题意: 求光线能达到的最大横坐标 注意光线可以和管道重合 也可以经过转折点 解法: 枚举每种光线是否能通过每个转折点的截面(线段)即可 //大白p263 #include <cma ...

  2. HOJ题目分类

    各种杂题,水题,模拟,包括简单数论. 1001 A+B 1002 A+B+C 1009 Fat Cat 1010 The Angle 1011 Unix ls 1012 Decoding Task 1 ...

  3. echarts地图 绘制部分上海市公交线路数据

    源代码地址 https://github.com/a1115040996/MyHTML/blob/gh-pages/echarts/roadMap.html 预览地址 https://a1115040 ...

  4. Uva 12186 工人的请愿书

    题目链接:https://uva.onlinejudge.org/external/121/12186.pdf 题意: 给出一个树状关系图,公司里只有一个老板编号为0,其他人员从1开始编号.除了老板, ...

  5. UVA 10798 - Be wary of Roses (bfs+hash)

    10798 - Be wary of Roses You've always been proud of your prize rose garden. However, some jealous f ...

  6. UVa 12100 Printer Queue (习题 5-7)

    传送门:https://uva.onlinejudge.org/external/121/12100.pdf 题意:队列中待打印的任务(1 <= n <= 100)带有优先级(1-9), ...

  7. [uva] 10067 - Playing with Wheels

    10067 - Playing with Wheels 题目页:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Ite ...

  8. Fast Matrix Operations(UVA)11992

    UVA 11992 - Fast Matrix Operations 给定一个r*c(r<=20,r*c<=1e6)的矩阵,其元素都是0,现在对其子矩阵进行操作. 1 x1 y1 x2 y ...

  9. angular2系列教程(六)两种pipe:函数式编程与面向对象编程

    今天,我们要讲的是angualr2的pipe这个知识点. 例子

随机推荐

  1. C#引用非托管.dll

    C#里调用非托管的Dll 今天花了一些精力来调查了一下C#里调用非托管的Dll,C#里调用非托管的Dll要使用P/Invoke平台调用技术, 这里先简单介绍一下P/Invoke平台调用技术.    由 ...

  2. 使用jetty和mongodb实现简易网盘接口

    依赖库: 1,jetty(提供http方式接口) 2,mongodb的java驱动(访问mongodb存取文件) 3,thumbnailator包,进行缩略图生成 4,commons-fileuplo ...

  3. 【转】How to Start Intel Hardware-assisted Virtualization (hypervisor) on Linux to Speed-up Intel Android x86 Emulator

    [转]How to Start Intel Hardware-assisted Virtualization (hypervisor) on Linux to Speed-up Intel Andro ...

  4. xhprof安装记录

    选择一个工具分析PHP函数调用的资源耗用明细,以图表化的形式展现,方便优化代码. 安装xhprof $ pecl install xhprof-beta
  在php.ini引用的extension中 ...

  5. 将一个数转化为二进制后,求其中1的个数 C++

    #include <iostream>using namespace std;int func(int x){ int count=0; while(x) { x=x&(x-1); ...

  6. STL之set和multiset(集合)

    set和multiset会根据特定的排序准则,自动将元素进行排序.不同的是后者允许元素重复而前者不允许. constructing sets #include #include using names ...

  7. C++创建对象的三种方式

    C++在创建对象的时候,有三种方式: #include <iostream> using namespace std; class A { private: int n; public: ...

  8. 解析ASP.NET Mvc开发之删除修改数据

    目录: 1)从明源动力到创新工场这一路走来 2)解析ASP.NET WebForm和Mvc开发的区别 3)解析ASP.NET Mvc开发之查询数据实例 4)解析ASP.NET Mvc开发之EF延迟加载 ...

  9. Android的回调模拟

    想要彻底理解安卓中用的回调,最好的办法是自己写一个类似的实现安卓中回调功能的实现方法. 我自己写了一个可以实现setOnClickListener回调的工程: 具体目录: 工程源码的具体地址:http ...

  10. Python之路Day16

    主要内容:Django基础进阶之:Django 流程.Django URL.Django Views.Django Models.Django Template.Django Admin Django ...