Codeforce 53B

2024-02-02 23:08
文章标签 codeforce 53b

本文主要是介绍Codeforce 53B,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

链接:点击打开链接

题意:给出一个h和w的上限,找出一个h和w使得0.8=<h/w<=1.25,并且使h*w最大,如果h*w相等输出h较大的

代码:

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include<algorithm>
using namespace std;
int main(){
long long i,j,h,w,tmp_h,tmp_w;
cin>>h>>w;
for(i=0;;i++){
if((long long)(1<<i)>h||(long long)(1<<i)>(5*w)/4){
i--;
break;
}
}
for(j=0;;j++){
if((long long)(1<<j)>w||(long long)(1<<j)>(5*h)/4){
j--;
break;
}
}
i=1<<i;
j=1<<j;                     //求出2的几次幂的最大的h和w
tmp_h=min(j*5/4,h);         //求出满足条件的最大h和w
tmp_w=min(i*5/4,w);
if(i*tmp_w>j*tmp_h)
cout<<i<<" "<<tmp_w<<endl;
else if(i*tmp_w<j*tmp_h)
cout<<tmp_h<<" "<<j<<endl;
else
cout<<max(i,tmp_h)<<" "<<min(j,tmp_w)<<endl;
return 0;
}


 

这篇关于Codeforce 53B的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/672263

相关文章

codeforce 9C(Hexadecimal's Numbers)

来   看谁的代码短 C. Hexadecimal's Numbers time limit per test 1 second memory limit per test 64 megabytes input standard input output standard output One beautiful July morning

codeforce 7C 拓展欧几里得 详解

比如说  ax+by=gcd(a,b) 假设  excgcd(int a,int  b,int&x,int&y)是求解这个方程的函数 其返回值是gcd(a,b)(ps: a和b的最大公因子) 假设我们已经求得了b*x1+(a%b)*y1=gcd(a,b); x1 ,y1即为其解 又有  a%b=a-(a/b)*b; 带入得 a*y1+b*(x1-(a/b))=gcd(a,b); 而

Codeforce 963

CF 963 B 模拟加贪心 偶数个数C 模拟+前缀和 灯能否全亮D 二分+DP 中位数尽可能大F1 模拟+镜像 题目链接 B 模拟加贪心 偶数个数 考点:贪心 思路:除了全是偶数的情况,其他的情况都需要将偶数转换为奇数。最少的操作步数是偶数个数,如果有一步操作执行之前最小的偶数都比最大的奇数大,则操作步数要加1,即最后结果是偶数个数+1. 代码1: t = int(

Codeforce 214 Div 2 B.Hometask

题目描述: Description Furik loves math lessons very much, so he doesn't attend them, unlike Rubik. But now Furik wants to get a good mark for math. For that Ms. Ivanova, his math teacher, gave him a

codeforce

http://codeforces.com/problemset/submit 学号  杭电密码

CodeForce #429 DIV2 A B C题解

A:http://codeforces.com/contest/841/problem/A 题意:n个气球分给k个人,是否有这样的解:每个人手里的气球都颜色不重复 思路:个数最多的颜色个球的个数 >k, 就必然有人手里两个球 #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>usin

CodeForce[1500-2000]——1950E Nearly Shortest Repeating Substring

codeforces刷题日记 题目大意:给你一个长度为n的字符串s,要寻找一个长度最小的字符串k,能够让字符串k进行1或多次的拼接,让拼接成的字符串和字符串s长度相等,且至多一个字母不一样。求k的最小长度。 思路:从1到n遍历k的长度i,如果i整除,就跳过,这时s被分成了n/i段,取出第一段和最后一段。如果这两段相等,那其他段必定和这两段一样(不一样的值字母允许存在一个),才符合条件。要是

codeforce round 735div2 -32

属于是打完多校脑子不转了,这题明明这简单的 掉大分,还好今天还一场 A 题意 选择一个连续子区间,让最大*最小值最大。 A 思路 显然是区间长为2时最大,扫一下就可以了。 想想也知道,我们选择两个时,拓展也是向两边拓展,如果有更小的,显然不拓展为好,如果有介于最大最小之间的,那么答案不会更优,假如有大于最大的,拓展后的答案也不会优于选择那个更大的数的长为二区间。 A 代码 #incl

扩展欧几里得,逆元初识(poj 1061+codeforce 7C line+hdu 1576 A/B)

poj 1061 青蛙的约会: #include <iostream>#include<cstdio>#define LL long longusing namespace std;LL gcd(LL a, LL b){return b?gcd(b,a%b):a;}void extend_Euclid(LL a,LL b,LL &x,LL &y){if(b ==

(CodeForce) Codeforces Round #541 (Div. 2) A,B,C,D,F

传送门 A. Sea Battle :围成的不规则图像的周长(就是矩形的周长),在加四个角重复的部分。 #include<cstdio>#include<iostream>#include<algorithm>#include<string>#include<cstring>#include<queue>#include<stack>#include<map>#include