한 결 과 를 비교 해 보 니 결과 가 모두 맞 았 는데 통과 하지 못 했 어 요...................................................
사실은 아주 간단 합 니 다.바로 원래 마수 세계 1 을 바탕 으로 무기 의 기능 을 하나 더 추 가 했 습 니 다.그러나 자신 은 한 시간 동안 했 습 니 다.2 주 전에 쓴 프로그램 을 모두 잊 었 습 니 다.자신 이 그 당시 에 쓴 프로그램 주석 이 상세 하지 않 아서 프로그램의 변수 가 많이 잊 어 버 렸 습 니 다.교훈 을 받 아들 이 고 주석 을 자세히 달 아야 합 니 다.당신 의 망각 속 도 는 정말 빠 릅 니 다!!
원제 주소http://cxsjsxmooc.openjudge.cn/2019t3sprintw5/003/
#include
#include
#include
#include
#include
#include
using namespace std;
typedef map strintmap;
//
static strintmap strength;
//
static vector weapon;
//map strength;
//14:30-16:30
//21:25
class Warcraft {
public:
//
string name_;
//
vector nameSeq_;
//
int lifeNum_;
//
//
int ith;
//
int countIth[5];
//
int countSum;
// ,
bool hasCout;
Warcraft(string name, const vector &nameSeq, int lifeNum) {
name_ = name;
nameSeq_ = nameSeq;
lifeNum_ = lifeNum;
ith = 0;
countSum = 0;
hasCout = false;
for (int i = 0; i < 5; i++)
countIth[i] = 0;
}
bool born(int time)
{
for (int i = 0; i < 5; i++)
{
//bug1 bug。。。
if (hasCout)
{
return false;
}
//bug2 i++, + i
else if (strength[nameSeq_[ith]] > lifeNum_)
{
ith = (ith + 1) % 5;
continue;
}
else
{
countIth[ith]++;
countSum++;
//bug 5
//bug 6 ith=(ith+1)%5 。。。。
lifeNum_ -= strength[nameSeq_[ith]];
cout << setw(3) << setfill('0') << time << " " << name_ << " " << nameSeq_[ith] << " " << countSum << " born with strength " << strength[nameSeq_[ith]] << "," << countIth[ith] << " " << nameSeq_[ith] << " in " << name_ << " headquarter" << endl;
//bug 4 ith=(ith++)%5 ???
if (nameSeq_[ith] == "dragon")
{
cout << "it has a " < redName;
vector blueName;
redName.push_back("iceman");
redName.push_back("lion");
redName.push_back("wolf");
redName.push_back("ninja");
redName.push_back("dragon");
blueName.push_back("lion");
blueName.push_back("dragon");
blueName.push_back("ninja");
blueName.push_back("iceman");
blueName.push_back("wolf");
char a[5][10] = { "dragon", "ninja", "iceman", "lion", "wolf" };
int n, M;
cin >> n;
for (int ii = 0; ii < n; ii++)
{
cin >> M;
cout << "Case:" << ii + 1 << endl;
for (int i = 0; i < 5; i++)
{
int temp;
cin >> temp;
//bug 3 a[i] a[0]。。。
//strength[a[i]] = temp;
strength[a[i]] = temp;
}
Warcraft wRed("red", redName, M);
Warcraft wBlue("blue", blueName, M);
int time = 0;
//bug 7 while , headquarter stops making warriors, time++ , while
//bug 8 , && wRed , wBlue , time++
// , wRed wBlue,
//while (wRed.born(time) && wBlue.born(time))
//{
// time++;
//}
while (wRed.born(time))
{
wBlue.born(time);
time++;
}
while (wBlue.born(time))
{
time++;
}
///////////////////// :
//
//5000
//200 400 6 70 20 ,
//wRed wBlue stops making warriors。 wRed.born(time) false 。
// time++。 bug 7 , time++, , while (wRed.born(time)) { }
//while (wRed.born(time) && wBlue.born(time))
//{
// time++;
//}
////bug 7 while , headquarter stops making warriors, time++ , while
//time++;
//while (wBlue.born(time))
//{
// time++;
//}
//while (wRed.born(time))
//{
// time++;
//}
//return 0;
}
//n = 1, M = 20;
//for (int i = 0; i < 5; i++)
//{
// strength[a[i]] = i+3;
//}
return 0;
}
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
04-트리 6.Huffman Codes (30)
시간 제한
메모리 제한
코드 길이 제한
For example, given a string "aaaxuaxz", we can observe that the frequencies of the characters 'a',...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.