#include <iostream>
#include <random>
#include <ctime>
using namespace std;
int main(){
int hNum, oNum;
cout << endl;
cout << "THIS IS A EPIC LEGENDARY BATTLE BETWEEN HUMANS AND ORCS ^-^" << endl << endl;
cout << "Input the number of humans: "; cin >> hNum;
cout << "Input the number of orcs: "; cin >> oNum;
cout << endl;
mt19937_64 randomGenerator(time(NULL));
uniform_int_distribution<int> hATK(0, 40);
uniform_int_distribution<int> oATK(0, 50);
int hATKp, oATKp;
int hHP, oHP, HP_lost;
bool combatEnd;
while(hNum != 0 && oNum != 0){
combatEnd = false;
hHP = 155; oHP = 80;
while(combatEnd == false){
hATKp = hATK(randomGenerator);
oATKp = oATK(randomGenerator);
if(hATKp > oATKp){
HP_lost = hATKp - oATKp;
oHP -= HP_lost;
}
if(oATKp > hATKp){
HP_lost = oATKp - hATKp;
hHP -= HP_lost;
}
if(hHP <= 0){
hNum--;
combatEnd = true;
}
if(oHP <= 0){
oNum--;
combatEnd = true;
}
}
}
cout << "Battle begin!" << endl;
if(hNum != 0){
cout << "Humans win!" << endl;
cout << hNum << " humans remained" << endl;
}
if(oNum != 0){
cout << "Orcs win!" << endl;
cout << oNum << " orcs remained" << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmFuZG9tPgojaW5jbHVkZSA8Y3RpbWU+CgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgppbnQgbWFpbigpewogICAgaW50IGhOdW0sIG9OdW07CiAgICBjb3V0IDw8IGVuZGw7CiAgICBjb3V0IDw8ICJUSElTIElTIEEgRVBJQyBMRUdFTkRBUlkgQkFUVExFIEJFVFdFRU4gSFVNQU5TIEFORCBPUkNTIF4tXiIgPDwgZW5kbCA8PCBlbmRsOwogICAgY291dCA8PCAiSW5wdXQgdGhlIG51bWJlciBvZiBodW1hbnM6ICI7IGNpbiA+PiBoTnVtOwogICAgY291dCA8PCAiSW5wdXQgdGhlIG51bWJlciBvZiBvcmNzOiAiOyBjaW4gPj4gb051bTsKICAgIGNvdXQgPDwgZW5kbDsKCiAgICBtdDE5OTM3XzY0IHJhbmRvbUdlbmVyYXRvcih0aW1lKE5VTEwpKTsKICAgIHVuaWZvcm1faW50X2Rpc3RyaWJ1dGlvbjxpbnQ+IGhBVEsoMCwgNDApOwogICAgdW5pZm9ybV9pbnRfZGlzdHJpYnV0aW9uPGludD4gb0FUSygwLCA1MCk7CgogICAgaW50IGhBVEtwLCBvQVRLcDsKICAgIGludCBoSFAsIG9IUCwgSFBfbG9zdDsKICAgIGJvb2wgY29tYmF0RW5kOwogICAgd2hpbGUoaE51bSAhPSAwICYmIG9OdW0gIT0gMCl7CiAgICAgICAgY29tYmF0RW5kID0gZmFsc2U7CiAgICAgICAgaEhQID0gMTU1OyBvSFAgPSA4MDsKICAgICAgICB3aGlsZShjb21iYXRFbmQgPT0gZmFsc2UpewogICAgICAgICAgICBoQVRLcCA9IGhBVEsocmFuZG9tR2VuZXJhdG9yKTsKICAgICAgICAgICAgb0FUS3AgPSBvQVRLKHJhbmRvbUdlbmVyYXRvcik7CiAgICAgICAgICAgIGlmKGhBVEtwID4gb0FUS3ApewogICAgICAgICAgICAgICAgSFBfbG9zdCA9IGhBVEtwIC0gb0FUS3A7CiAgICAgICAgICAgICAgICBvSFAgLT0gSFBfbG9zdDsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZihvQVRLcCA+IGhBVEtwKXsKICAgICAgICAgICAgICAgIEhQX2xvc3QgPSBvQVRLcCAtIGhBVEtwOwogICAgICAgICAgICAgICAgaEhQIC09IEhQX2xvc3Q7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoaEhQIDw9IDApewogICAgICAgICAgICAgICAgaE51bS0tOwogICAgICAgICAgICAgICAgY29tYmF0RW5kID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZihvSFAgPD0gMCl7CiAgICAgICAgICAgICAgICBvTnVtLS07CiAgICAgICAgICAgICAgICBjb21iYXRFbmQgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCAiQmF0dGxlIGJlZ2luISIgPDwgZW5kbDsKICAgIGlmKGhOdW0gIT0gMCl7CiAgICAgICAgY291dCA8PCAiSHVtYW5zIHdpbiEiIDw8IGVuZGw7CiAgICAgICAgY291dCA8PCBoTnVtIDw8ICIgaHVtYW5zIHJlbWFpbmVkIiA8PCBlbmRsOwogICAgfQogICAgaWYob051bSAhPSAwKXsKICAgICAgICBjb3V0IDw8ICJPcmNzIHdpbiEiIDw8IGVuZGw7CiAgICAgICAgY291dCA8PCBvTnVtIDw8ICIgb3JjcyByZW1haW5lZCIgPDwgZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9