ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

URAL1088 Ilya Murometz

2019-07-20 23:39:52  阅读:304  来源: 互联网

标签:ld le return Ilya int ++ URAL1088 ans Murometz


原文链接:http://www.cnblogs.com/xiao_wu/archive/2010/05/23/1742317.html

    http://acm.timus.ru/problem.aspx?space=1&num=1088

    题目描述太过分,黑书上有译题,但是翻译的太过分,于是基本读不懂,直接罪恶的看这个吧:

    http://www.nocow.cn/index.php/Translate:URAL/1088

    于是就是道水题了,不多说

ContractedBlock.gifExpandedBlockStart.gif代码
 1 #include <cstdio>
2
3  int D , E , F , Dp, Ep, H, a[32], b[32];
4
5 int min(int a, int b) { if(a < b) return a; return b; }
6
7 int main()
8 {
9 scanf("%d %d %d %d %d %d", &D, &E, &F, &Dp, &Ep, &H);
10 int i = (1 << F), j, ans = 100000;
11 int Di = Dp + i - 1;
12 int Ei = Ep + i - 1;
13 int ld = 0 , le = 0, t1 = 0, t2 = 0;
14 while(Di)
15 {
16 if(t1 >= D)
17 a[ld ++] = Di;
18 t1 ++;
19 Di >>= 1;
20 }
21 while(Ei)
22 {
23 if(t2 >= E)
24 b[le ++] = Ei;
25 t2 ++;
26 Ei >>= 1;
27 }
28 if(le == 0 && ld == 0) {
29 puts("YES");
30 return 0;
31 } else if(le == 0 && ld != 0) {
32 ans = F - D;
33 } else if(le != 0 && ld == 0) {
34 ans = F - E;
35 } else {
36 for(i=0; i < ld; i++) {
37 for(j=0; j < le; j++) {
38 if(a[i] == b[j])
39 ans = min(i + j, ans);
40 }
41 }
42 }
43 if(ans <= H)
44 puts("YES");
45 else
46 puts("NO");
47 return 0;
48 }

 

转载于:https://www.cnblogs.com/xiao_wu/archive/2010/05/23/1742317.html

标签:ld,le,return,Ilya,int,++,URAL1088,ans,Murometz
来源: https://blog.csdn.net/weixin_30908649/article/details/96643073

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有