改了好几天,本地可以用了,但是学校的OJ说我运行超时T^T
算法还要怎么优化啊,求大神T^T
C++语言: 高亮代码由发芽网提供
001 #include
002 
003 using namespace std;
004 
005 class basetemp{
006 public:
007         int N;
008         int **atkerX;
009         int killer;
010         int HP;
011 };
012 
013 bool check(basetemp In){
014     int i;
015     if (In.killer<<span style="color: rgb(0, 153, 153);">1||In.killer>100000||In.HP<<span style="color: rgb(0, 153, 153);">1||In.HP>1000000) return 1;
016     for (i=0;i<(In.N-1);i++){
017         if (In.atkerX[i][0]<<span style="color: rgb(0, 153, 153);">1||In.atkerX[i][0]>10||In.atkerX[i][1]<<span style="color: rgb(0, 153, 153);">1||In.atkerX[i][1]>100) 
018         return 1;
019     }
020     return 0;
021 }
022 
023 int calcultion(basetemp In){
024     if (check(In)) 
025     {
026         cout<<"Impossible";
027         return -1;
028     }
029     int time=1;
030     int i,j;
031     int mintime,maxtime;
032     int restHP=In.HP;
033     int killatk=0;
034     int counter=0;
035     //求mintime
036     do{
037         for(i=0;i<(In.N-1);i++){
038             if ( time % In.atkerX[i][1] == 0 ){
039                 restHP=restHP - In.atkerX[i][0];
040                 if (restHP <= In.killer){
041                     killatk=In.atkerX[i][0];
042                     for(j=1;j<(In.N-1);j++){
043                         if (time % In.atkerX[j][1] == 0 && killatk0]){
044                             killatk=In.atkerX[j][0];
045                             break;
046                         }
047                     }
048                     break;
049                 }
050             }
051         }
052         time++;
053     }while (restHP > In.killer);
054     if (In.killer>=killatk) mintime = time - 1;
055     else{
056         mintime = -1;
057         cout<<"Impossible";
058         return -1;
059     }
060     //求maxtime
061     restHP=0;
062     for(i=0;i<(In.N-1);i++){
063         restHP+=In.atkerX[i][0]*((mintime-1)/In.atkerX[i][1]);
064     }
065     restHP=In.HP-restHP;
066     time=mintime;
067     do{
068         for(i=0;i<(In.N-1);i++){
069             if (time%In.atkerX[i][1]==0){
070                 restHP=restHP-In.atkerX[i][0];
071                 if (restHP<=0){
072                     killatk=In.atkerX[i][0];
073                     for(j=1;j<(In.N-1);j++){
074                         if (time%In.atkerX[j][1]==0&&killatk0]){
075                             killatk=In.atkerX[j][0];
076                             break;
077                         }
078                     }
079                     break;
080                 }
081             }            
082         }
083         time++;
084     }while (restHP>0);
085     if (In.killer>=killatk) maxtime=time-1;
086     else maxtime=time-2;
087     cout<<mintime<<" "<<maxtime;
088     return 0;
089 }
090 
091 int main(){
092     int i,j,k=0;
093     basetemp temp[1000];
094     while(1){
095         cin>>temp[k].N;
096         temp[k].atkerX=new int*[temp[k].N];
097         for(int i = 0;i <= temp[k].N-1;i++){
098             temp[k].atkerX[i]=new int[2];
099         }
100         if (temp[k].N==0) break; 
101         for (i=0;i1;i++){
102             for(j=0;j<<span style="color: rgb(0, 153, 153);">2;j++){
103                 cin>>temp[k].atkerX[i][j]; 
104             }
105         }
106         cin>>temp[k].killer>>temp[k].HP;
107         k++;
108     }
109     for(i=0;i
110         calcultion(temp[i]);
111         cout<<endl;
112     }
113     return 0;
114 }

玩游戏的时候怎么没觉得补刀这么难…相关推荐

  1. 计算机里没有四款小游戏,90后最爱玩的4款“4399”小游戏,一个都没玩过的太可怜!...

    原标题:90后最爱玩的4款"4399"小游戏,一个都没玩过的太可怜! 对于90后的小伙伴们来说,现在的很多东西都属于童年的回忆了,而在我们那个年代,电脑游戏还不是非常的盛行.正式流 ...

  2. 计算机课上玩的打字游戏,上电脑课时偷偷玩的3个游戏,这些都没玩过,别说自己玩过游戏!...

    原标题:上电脑课时偷偷玩的3个游戏,这些都没玩过,别说自己玩过游戏! 大家好啊,小编又和大家见面了,想必大家都知道,电脑在被发明出来以后,游戏也是随之而然的被加入到了电脑中,而在一开始的时候电脑的游戏 ...

  3. 8核和16核服务器性能差异,intel再次科普:8核处理器玩游戏最好,16核真心没必要...

    一年一度的双十一购物狂欢节已经落下了帷幕,各大电商也忙着整理自己的战报.在2019年JD双十一的CPU销售额TOP5榜单中AMD首次超越了intel占据了3个席位,分别是R7 3700X.R7 380 ...

  4. 《有限与无限的游戏》第二章 没人能独自玩游戏:经典摘抄(1)

    没有人能独自一人玩游戏.一个人不成其为人,没有群体,便没有自我.我们并不是作为我们本身与他人有关系,相反,我们是与他人有关系的我们. 只有能够变化的,才能够持续下去,这是无限游戏的参与者所遵循的原则. ...

  5. 《有限与无限的游戏》第二章 没人能独自玩游戏:经典摘抄(3)

    将社会视为文化的一种,并不等同于要推翻甚至或改变社会,而只是去消除它感知的必要性.无限游戏的参与者有他们的规则,他们只是不忘记这一点:规则是对一致同意的一种表达,并不是对一致同意的要求. 社会由其边界 ...

  6. 小米玩王者荣耀服务器未响应,小米8屏幕指纹版打王者荣耀游戏出现严断流没信号和460延迟...

    小米8屏幕指纹版手机在打这个王者荣耀游戏的出现严重的断流没信号和460延迟啊,真是不能接受啊, 不知道大家有没有这样的同象,问题太严重了吧,一步一卡,卡的不行不行的,突然就460,几秒后又跳回来,用小 ...

  7. 计算机课课前游戏,那些让我们怀念的微机课时光,这些游戏敢说你没玩过?

    原标题:那些让我们怀念的微机课时光,这些游戏敢说你没玩过? 不要问我为什么眼中常含泪水,因为我经常想起十年前的自己. 初中时候的信息技术是真的一节课不落的,但是到了高中的时候,数学老师就会经常告诉我们 ...

  8. 电脑玩游戏没声音 360一键诊断修复

    电脑看电影.听歌.视频聊天都正常,唯独玩游戏时就变成了"哑巴"一样没声音了,体验极差.有网友在百度知道上反映这个情况后,引来上万人浏览,相信众多网友对于这一问题也是心有戚戚.下面, ...

  9. 没想到吧!玩游戏还能学习编程,这15款编程游戏你一定要看看

    作者 |创客星辰 来源 | 辰语学习笔记 Coding Games 一边玩游戏,一边挑战编程难题.Coding games支持包括PHP.C.JavaScript在内的20多种编程语言.用户界面功能强 ...

最新文章

  1. .net托管环境下struct实例字段的内存布局(Layout)和大小(Size)
  2. Tensorflow的LRN是怎么做的
  3. Windows 8 系统快捷键热键列表收集
  4. 实体类的动态生成(二)
  5. [摘自MSDN] ASP.Net2.0学习 [2] 主题 1 :ASP.NET 主题和外观概述
  6. 什么是Java Marker Interface(标记接口) 1
  7. 《TCP/IP详解卷1:协议》读书笔记
  8. 华为 “Telnet” 登录设备
  9. 用c语言软件制作监察病毒,弄了个病毒。用的是C语言,大家看看!
  10. numpy 随机生成矩阵
  11. MathJax 支持的 Latex 符号总结(集合运算)
  12. 小米重返世界前五发布红米Note 5A,京东神预言小米复苏
  13. 【AUTOSAR】【以太网】Eth驱动
  14. springboot2+junit5+MockMvc(Mockito)实现对Controller的测试,配置都有,很详细了。
  15. java创始人现在在哪里直播,三年败光120亿,他曾是某电商巨头创始人,如今却靠直播度日!...
  16. 计算机联锁仿真论文,计算机联锁系统仿真平台的研究
  17. 【调剂】河南财经政法大学2020年硕士研究生预调剂公告
  18. 西软前台系统使用中常见问题与基本概念
  19. 关于VESA的一些简单介绍
  20. Part2:面向对象、原型链、函数、ES6基础语法

热门文章

  1. 进程计划和计划任务管理
  2. matlab机器人 联合ug仿真
  3. 微型计算机c560,2012江西省全国计算机等级考试二级笔试试卷VB考资料
  4. mpvue返回上一个页面_小程序返回上一页 - 芊芊一隅
  5. ubuntu下使用360wifi2做无线网卡
  6. GitHub for Mac
  7. 信息化监理在验收阶段的角色
  8. Linux的PS修改名称,ps命令的10个例子
  9. wmf格式的图片如何通过Java转换成JPG格式的在页面上直接显示?
  10. 坚持就是胜利!悔不当初