这是一个特别的寒假,疫情来临,寒假延迟,想着之前学C#有诸多疑问,便循着源头学起了C/C++,mooc北大郭炜老师的程序设计课,万万没想到,课上内容看似简单,出的测试题确实让我头大,光是一个005:魔兽世界之一:备战,就让我花了一天的时间。怎么说呢,面向对象设计程序的思想还不到位,只能硬着头皮写。诸多小bug耽搁了许多时间,终于还是写出来了。还是得多动手才行呀。与君共勉。

#include <iostream>
#include <algorithm>
using namespace std;
class A
{public:int strb;int strr;//红蓝军营元值int bsoldier[5];int rsoldier[5];int Tb;int Tr;//武士生产进行标志位 int time;int min;int bb;int j;A(int str,int dragon,int ninja,int iceman,int lion,int wolf,int omin);void produce(){int a[10] ={1,1,1,1,1,1,1,1,1,1};       while(Tr==1||Tb==1) {if(Tr == 1) {if(strr>=min){          while(rsoldier[bb]>strr){bb++;if(bb==5) bb = 0;}switch(bb) {case 0:if(time<10){cout<<"00"<<time;}else cout<<"0"<<time;cout<<" red iceman "<<time+1<<" born with strength "<<rsoldier[0]<<","<<a[0]<<" iceman in red headquarter"<<endl;strr-=rsoldier[0];a[0]++;break;case 1:if(time<10){cout<<"00"<<time;}else cout<<"0"<<time;cout<<" red lion "<<time+1<<" born with strength "<<rsoldier[1]<<","<<a[1]<<" lion in red headquarter"<<endl;strr-=rsoldier[1];a[1]++;break;case 2:if(time<10){cout<<"00"<<time;}else cout<<"0"<<time;cout<<" red wolf "<<time+1<<" born with strength "<<rsoldier[2]<<","<<a[2]<<" wolf in red headquarter"<<endl;strr-=rsoldier[2];a[2]++;break;case 3:if(time<10){cout<<"00"<<time;}else cout<<"0"<<time;cout<<" red ninja "<<time+1<<" born with strength "<<rsoldier[3]<<","<<a[3]<<" ninja in red headquarter"<<endl;strr-=rsoldier[3];a[3]++;break;case 4:if(time<10){cout<<"00"<<time;}else cout<<"0"<<time;cout<<" red dragon "<<time+1<<" born with strength "<<rsoldier[4]<<","<<a[4]<<" dragon in red headquarter"<<endl;strr-=rsoldier[4];a[4]++;break;}}else {if(time<10){cout<<"00"<<time;}else cout<<"0"<<time;cout<<" red headquarter stops making warriors"<<endl;Tr = 0;    }   }if(Tb == 1) {if(strb>=min){while(bsoldier[j]>strb){j++;if(j==5){j = 0;};}switch(j){case 0:if(time<10){cout<<"00"<<time;}else cout<<"0"<<time;cout<<" blue lion "<<time+1<<" born with strength "<<bsoldier[0]<<","<<a[5]<<" lion in blue headquarter"<<endl;strb-=bsoldier[0];a[5]++;break;case 1:if(time<10){cout<<"00"<<time;}else cout<<"0"<<time;cout<<" blue dragon "<<time+1<<" born with strength "<<bsoldier[1]<<","<<a[6]<<" dragon in blue headquarter"<<endl;strb-=bsoldier[1];a[6]++;break;case 2:if(time<10){cout<<"00"<<time;}else cout<<"0"<<time;cout<<" blue ninja "<<time+1<<" born with strength "<<bsoldier[2]<<","<<a[7]<<" ninja in blue headquarter"<<endl;strb-=bsoldier[2];a[7]++;break;case 3:if(time<10){cout<<"00"<<time;}else cout<<"0"<<time;cout<<" blue iceman "<<time+1<<" born with strength "<<bsoldier[3]<<","<<a[8]<<" iceman in blue headquarter"<<endl;strb-=bsoldier[3];a[8]++;break;case 4:if(time<10){cout<<"00"<<time;}else cout<<"0"<<time;cout<<" blue wolf "<<time+1<<" born with strength "<<bsoldier[4]<<","<<a[9]<<" wolf in blue headquarter"<<endl;strb-=bsoldier[4];a[9]++;break;}}else {if(time<10){cout<<"00"<<time;}else cout<<"0"<<time;cout<<" blue headquarter stops making warriors"<<endl;Tb = 0;   }   }    bb++;j++;if(j==5){j = 0;};if(bb==5){bb=0 ;}          time++;}bb = 0;j = 0;time = 0;return;  };
};
A::A(int str,int dragon,int ninja,int iceman,int lion,int wolf,int omin):strb(str),strr(str){bsoldier[0] = lion;bsoldier[1] = dragon;bsoldier[2] = ninja;bsoldier[3] = iceman;bsoldier[4] = wolf;rsoldier[0] = iceman;rsoldier[1] = lion;rsoldier[2] = wolf;rsoldier[3] = ninja;rsoldier[4] = dragon;Tb = 1;Tr = 1;bb = 0;j = 0;min = omin;time = 0;};
int main()
{int ofmin;int caseNumber = 1;int caseTotal;       cin>>caseTotal;int str[caseTotal];int ss[caseTotal][5];for(int j=0;j<caseTotal;j++){cin>>str[j];for(int i=0;i<5;i++){cin>>ss[j][i];}}for(int i=0;i<caseTotal;i++){  ofmin = min(min(min(min(ss[i][0],ss[i][1]),ss[i][2]),ss[i][3]),ss[i][4]);A AA(str[i],ss[i][0],ss[i][1],ss[i][2],ss[i][3],ss[i][4],ofmin);cout<<"Case:"<<caseNumber++<<endl;AA.produce();}return 0;
}

几乎没怎么应用类,用的都是比较朴实的方法,错误多发于判断表达式是不是少了个等号,或者数字是否出错。总而言之,还是成功了!

005:魔兽世界之一:备战相关推荐

  1. 北大MOOC第三周 005:魔兽世界之一:备战

    题目描述 http://cxsjsxmooc.openjudge.cn/2017t3fallw32/005/ #include <iostream> #include<vector& ...

  2. [土狗之路]Coursera 北京大学C++ 魔兽世界:备战

    这道题目中间因为学校正课耽误了很久,结果时间到了 coursera 把我的课都给锁了,哎,申请了助学金,慢慢弄吧,之前心态不好,确实错在了细节,现在debug以及代码重构了,重新把代码po上来,然后开 ...

  3. 魔兽世界之一:备战(模拟)

    原题链接 最近几天练练模拟吧. A:魔兽世界之一:备战 总时间限制:  1000ms 内存限制:  65536kB 描述 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部.两个司令部之间是依次排列 ...

  4. Openjudge上mooc组题目:魔兽世界:备战

    新人第一次写博客,此贴纪念意义大于实用性~ 这些代码是我花了一天多时间写的,本人水平属实拉跨,求各位大神轻喷. 我个人觉得我代码里的核心就是就是red和blue里的creat的方法,我个人偷偷的利用了 ...

  5. mooc 魔兽世界1 备战 的代码(可能输出要求和题意不符)

    这道题考察类的应用,我试了试那些测试数据,输出应该都是对的,不知道为什么最后总是wrong answer. 有可能是因为我是输入一组之后立刻输出一组?而题意是输入全部数据后一并输出吗? 如果那个样子的 ...

  6. 【POJ C++题目】魔兽世界之一:备战

    文章目录 一.题目描述 描述 输入 输出 样例输入 样例输出 二.简要思路 数据结构 初步实现想法 三.自己的初步代码 一.题目描述 描述 魔兽世界的西面是红魔军的Command部,东面是蓝魔军的Co ...

  7. mooc程序设计与算法(三)C++面向对象程序设计 类和对象提高 编程作业 5:魔兽世界之一:备战

    5:魔兽世界之一:备战 这道题是典型的,看了题目不想做题系列... 题目太长,看了,看不懂....后来,上网找了某博客中据说是老师的代码,研究了一下,觉得真的,c++面向对象编程还是很深奥的....下 ...

  8. PKU MOOC作业魔兽世界之一:备战的结构化程序

    一不小心踏入PKU程序设计专项课程,没先听课就交钱加入.这门课,目的是培养程序员,从0基础,到程序设计员的培养,课程顺序是C语言-算法-数据结构,实际拆分为6+1门(毕业项目),理念不可谓不好.但是, ...

  9. POJ 魔兽世界之一:备战 题解

    POJ 魔兽世界之一:备战 题解 来源: POJ 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部.两个司令部之间是依次排列的 ...

最新文章

  1. WinSock网络编程基础(3)server
  2. Ubuntu18.04 MariaDB
  3. Effective C++ 条款12
  4. 原型磨刀 开源一样的_晚餐也可以像开源一样
  5. 进程、地址空间、文件、I/O、保护、虚拟内存
  6. 安裝linux後的內核調優
  7. 电脑有独显内存还被占用_什么是电脑显卡,显卡是按什么来分类的
  8. scratch少儿编程航天主题:模拟航天飞机飞行
  9. nf_regester
  10. Python 交通仿真建模(1)
  11. U-Mail邮件系统管理功能 高效办公轻松搞定
  12. chromecast 协议_因此,您刚刚获得了Chromecast。 怎么办?
  13. easyphp mysql_用EasyPHP本地搭建PHP环境 | Wopus
  14. 【渝粤题库】国家开放大学2021春1253C语言程序设计答案
  15. linux编译poco静态库,iOS——为Xcode编译POCO C++静态库
  16. 如何看待阿里云推出的免费虚拟主机?
  17. python随机密码,并修改windows指定帐号密码
  18. Java根据PDF表单模板和CSV表格批量生成证书等文件
  19. java字体库_java使用第三方字体库的方法,使用第三方ttf/ttc等字体库的方法
  20. ESP32接入百度智能云语音识别,实现在线语音识别

热门文章

  1. Entity Framework 学习建议及自学资源
  2. 打卡第四天 学习python读取mat和xslx文件+敢死队+XPOWER
  3. 抖音视频上传 参数不合法 video/upload/
  4. 笔记本连接手机热点并共享网络给台式机
  5. 抖音蓝V如何认证,蓝V号与普通号的区别?
  6. 中国剩余定理(c语言)
  7. 随机生存森林的模型建立和结果解读
  8. php网盘 开源 web版 手机版
  9. WordPress自带TinyMCE编辑器增强技巧大全
  10. 2023年全国最新二级建造师精选真题及答案13