codeforces 712C C. Memory and De-Evolution(贪心)

题目链接:http://codeforces.com/problemset/problem/712/C

题目大意:

  给连个值x,y (3 ≤ y < x ≤ 100 000), x,y都为等边三角形。从y等边三角形 每次修改一条边,且修改后的三个边还能组成一个三角形(两边之和大于第三边)。问修改几次能够得到x为边的等边三角形。

例如:

  输入: 22 4  输出: 6

  

解题思路:

  从y->x ,定义三个边y1=y2=y3=y,

  每次修改一条边 y1=y2+y3-1(两边之和大于第三遍) 修改++ 如果y1>=x break;

  修改一条边 y2=y1+y3-1 修改++ 如果y2>=x break;

  修改一条边 y3=y1+y2-1 修改++ 如果y3>=x break;

  可以发现,如果(y1,y2,y3)有一个边>=x,则还需两步即可完成。

  输出 修改+2

AC Code:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     int x,y,ans;
 6     while(scanf("%d%d",&x,&y)!=EOF)
 7     {
 8         ans=0;
 9         int y1,y2,y3;
10         y1=y2=y3=y;
11         while(y1!=x&&y2!=x&&y3!=x)
12         {
13             y1=y2+y3-1;
14             ++ans;
15             if(y1>=x)break;
16             y2=y1+y3-1;
17             ++ans;
18             if(y2>=x)break;
19             y3=y1+y2-1;
20             ++ans;
21             if(y3>=x)break;
22         }
23         cout<<ans+2<<endl;
24     }
25     return 0;
26 }
时间: 2024-11-06 23:47:32

codeforces 712C C. Memory and De-Evolution(贪心)的相关文章

Codeforces --- 982C Cut &#39;em all! DFS加贪心

题目链接: https://cn.vjudge.net/problem/1576783/origin 输入输出: ExamplesinputCopy42 44 13 1outputCopy1inputCopy31 21 3outputCopy-1inputCopy107 18 48 104 76 59 33 52 102 5outputCopy4inputCopy21 2outputCopy0NoteIn the first example you can remove the edge bet

Codeforces 712C Memory and De-Evolution(逆向思维)

题目链接:http://codeforces.com/problemset/problem/712/C 题意:有一个长度为 x 的等边三角形,你每次可以选择一条边减少其长度,当然减少之后,三条边仍然可以组成一个三角形. 最后要使其变成程度为 y ,的等边三角形(x > y),问要作几次操作. 思路:贪心即可,可是重点是反着贪,长度为 y 的等边三角形,每次增加一条边的长度使其变成长度为 x 的等边三角形. 如果正着贪心,一条边太短的话,很影响其他边变短的过程,总次数也不一定是最优. 代码: #i

Codeforces 712C. Memory and De-Evolution

题目链接:http://codeforces.com/problemset/problem/712/C 题意: 给你两个值 a 和 b (a > b), 代表这里有两个等边三角形, 边长分别为 a 和 b, 你可以对边长为 a 的三角形进行变换, 每次变化你可以选择一条边, 并为其重新指定一个长度, 当然变换完成后还能组成一个三角形.问最少经过多少次变换可以把等边三角形的三边长度从 a 变换到 b. 思路: 题目中的意思时从大的三角形变换到小的三角形,这里可以换一种方式,即 “最少经过多少次变换

codeforces Gym 100187F F - Doomsday 区间覆盖贪心

F. Doomsday Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100187/problem/F Description Doomsday comes in t units of time. In anticipation of such a significant event n people prepared m vaults in which, as they think, it will

CodeForces 462B Appleman and Card Game(贪心)

题目链接:http://codeforces.com/problemset/problem/462/B Appleman has n cards. Each card has an uppercase letter written on it. Toastman must choose k cards from Appleman's cards. Then Appleman should give Toastman some coins depending on the chosen cards

【算法系列学习】codeforces D. Mike and distribution 二维贪心

http://codeforces.com/contest/798/problem/D http://blog.csdn.net/yasola/article/details/70477816 对于二维的贪心我们可以先让它变成其中一维有序,这样只需要重点考虑另一维,就会简单很多. 首先,对于题目要求的选择元素之和两倍大与所有元素之和,我们可以转化为选择元素之和大于剩下的.然后我们可以将下标按照a从大到小排序.然后选择第一个,之后每两个一组,选择b大的一个,如果n是偶数再选择最后一个. 至于这样写

Codeforces 1036B Diagonal Walking v.2 【贪心】

题目传送门:https://codeforces.com/contest/1036/problem/B 被这道题坑了,说白了还是菜. 贪心策略是先斜对角从(0,0)走到(n,n),然后往右拐(分奇偶考虑)[若n>m,swap(n,m)] 理论上是画画图,知道切入点是奇偶性后,就能想清楚了 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<q

C. Playlist Educational Codeforces Round 62 (Rated for Div. 2) 贪心+优先队列

C. Playlist time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You have a playlist consisting of nn songs. The ii-th song is characterized by two numbers titi and bibi — its length and beauty

Codeforces 450C:Jzzhu and Chocolate(贪心)

C. Jzzhu and Chocolate time limit per test: 1 seconds memory limit per test: 256 megabytes input: standard input output: standard output Jzzhu has a big rectangular chocolate bar that consists of \(n?×?m\) unit squares. He wants to cut this bar exact