/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
float FIGHTING_BONUS = 1.5f;
int sourceWarlocks = 20;
int sourceCrusaders = 10;
int sourceAmazons = 0;
int destinationWarlocks = 12;
int destinationCrusaders = 12;
int destinationAmazons = 12;
int sourceWarlocksBalance
= Math.
max(0, sourceWarlocks
- destinationWarlocks
); int sourceWarlocksBonus
= Math.
min(sourceWarlocksBalance, destinationAmazons
); float sourceWarlocksStrength = (sourceWarlocks - sourceWarlocksBonus + (sourceWarlocksBonus * FIGHTING_BONUS));
int sourceCrusadersBalance
= Math.
max(0, sourceCrusaders
- destinationCrusaders
); int sourceCrusadersBonus
= Math.
min(sourceCrusadersBalance, destinationWarlocks
); float sourceCrusadersStrength = (sourceCrusaders - sourceCrusadersBonus + (sourceCrusadersBonus * FIGHTING_BONUS));
int sourceAmazonsBalance
= Math.
max(0, sourceAmazons
- destinationAmazons
); int sourceAmazonsBonus
= Math.
min(sourceAmazonsBalance, destinationCrusaders
); float sourceAmazonsStrength = (sourceAmazons - sourceAmazonsBonus + (sourceAmazonsBonus * FIGHTING_BONUS));
float sourceTotalStrength = sourceWarlocksStrength + sourceCrusadersStrength + sourceAmazonsStrength;
int destinationWarlocksBalance
= Math.
max(0, destinationWarlocks
- sourceWarlocks
); int destinationWarlocksBonus
= Math.
min(destinationWarlocksBalance, sourceAmazons
); float destinationWarlocksStrength = (destinationWarlocks - destinationWarlocksBonus + (destinationWarlocksBonus * FIGHTING_BONUS));
int destinationCrusadersBalance
= Math.
max(0, destinationCrusaders
- sourceCrusaders
); int destinationCrusadersBonus
= Math.
min(destinationCrusadersBalance, sourceWarlocks
); float destinationCrusadersStrength = (destinationCrusaders - destinationCrusadersBonus + (destinationCrusadersBonus * FIGHTING_BONUS));
int destinationAmazonsBalance
= Math.
max(0, destinationAmazons
- sourceAmazons
); int destinationAmazonsBonus
= Math.
min(destinationAmazonsBalance, sourceCrusaders
); float destinationAmazonsStrength = (destinationAmazons - destinationAmazonsBonus + (destinationAmazonsBonus * FIGHTING_BONUS));
float destinationTotalStrength = destinationWarlocksStrength + destinationCrusadersStrength + destinationAmazonsStrength;
System.
out.
println("A : " + sourceWarlocksBonus
+ "/" + sourceCrusadersBonus
+ "/" + sourceAmazonsBonus
+ " vs D : " + destinationWarlocksBonus
+ "/" + destinationCrusadersBonus
+ "/" + destinationAmazonsBonus
); System.
out.
println("A : " + sourceTotalStrength
+ " vs D : " + destinationTotalStrength
); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCSAgZmxvYXQgRklHSFRJTkdfQk9OVVMgPSAxLjVmOwogICAgICAgICAgICAgICAgaW50IHNvdXJjZVdhcmxvY2tzID0gMjA7CiAgICAgICAgICAgICAgICBpbnQgc291cmNlQ3J1c2FkZXJzID0gMTA7CiAgICAgICAgICAgICAgICBpbnQgc291cmNlQW1hem9ucyA9IDA7CiAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaW50IGRlc3RpbmF0aW9uV2FybG9ja3MgPSAxMjsKICAgICAgICAgICAgICAgIGludCBkZXN0aW5hdGlvbkNydXNhZGVycyA9IDEyOwogICAgICAgICAgICAgICAgaW50IGRlc3RpbmF0aW9uQW1hem9ucyA9IDEyOwogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGludCBzb3VyY2VXYXJsb2Nrc0JhbGFuY2UgPSBNYXRoLm1heCgwLCBzb3VyY2VXYXJsb2NrcyAtIGRlc3RpbmF0aW9uV2FybG9ja3MpOwogICAgICAgICAgICAgICAgaW50IHNvdXJjZVdhcmxvY2tzQm9udXMgPSBNYXRoLm1pbihzb3VyY2VXYXJsb2Nrc0JhbGFuY2UsIGRlc3RpbmF0aW9uQW1hem9ucyk7CiAgICAgICAgICAgICAgICBmbG9hdCBzb3VyY2VXYXJsb2Nrc1N0cmVuZ3RoID0gKHNvdXJjZVdhcmxvY2tzIC0gc291cmNlV2FybG9ja3NCb251cyArIChzb3VyY2VXYXJsb2Nrc0JvbnVzICogRklHSFRJTkdfQk9OVVMpKTsKICAgICAgICAgICAgICAgIGludCBzb3VyY2VDcnVzYWRlcnNCYWxhbmNlID0gTWF0aC5tYXgoMCwgc291cmNlQ3J1c2FkZXJzIC0gZGVzdGluYXRpb25DcnVzYWRlcnMpOwogICAgICAgICAgICAgICAgaW50IHNvdXJjZUNydXNhZGVyc0JvbnVzID0gTWF0aC5taW4oc291cmNlQ3J1c2FkZXJzQmFsYW5jZSwgZGVzdGluYXRpb25XYXJsb2Nrcyk7CiAgICAgICAgICAgICAgICBmbG9hdCBzb3VyY2VDcnVzYWRlcnNTdHJlbmd0aCA9IChzb3VyY2VDcnVzYWRlcnMgLSBzb3VyY2VDcnVzYWRlcnNCb251cyArIChzb3VyY2VDcnVzYWRlcnNCb251cyAqIEZJR0hUSU5HX0JPTlVTKSk7CiAgICAgICAgICAgICAgICBpbnQgc291cmNlQW1hem9uc0JhbGFuY2UgPSBNYXRoLm1heCgwLCBzb3VyY2VBbWF6b25zIC0gZGVzdGluYXRpb25BbWF6b25zKTsKICAgICAgICAgICAgICAgIGludCBzb3VyY2VBbWF6b25zQm9udXMgPSBNYXRoLm1pbihzb3VyY2VBbWF6b25zQmFsYW5jZSwgZGVzdGluYXRpb25DcnVzYWRlcnMpOwogICAgICAgICAgICAgICAgZmxvYXQgc291cmNlQW1hem9uc1N0cmVuZ3RoID0gKHNvdXJjZUFtYXpvbnMgLSBzb3VyY2VBbWF6b25zQm9udXMgKyAoc291cmNlQW1hem9uc0JvbnVzICogRklHSFRJTkdfQk9OVVMpKTsKICAgICAgICAgICAgICAgIGZsb2F0IHNvdXJjZVRvdGFsU3RyZW5ndGggPSBzb3VyY2VXYXJsb2Nrc1N0cmVuZ3RoICsgc291cmNlQ3J1c2FkZXJzU3RyZW5ndGggKyBzb3VyY2VBbWF6b25zU3RyZW5ndGg7CiAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaW50IGRlc3RpbmF0aW9uV2FybG9ja3NCYWxhbmNlID0gTWF0aC5tYXgoMCwgZGVzdGluYXRpb25XYXJsb2NrcyAtIHNvdXJjZVdhcmxvY2tzKTsKICAgICAgICAgICAgICAgIGludCBkZXN0aW5hdGlvbldhcmxvY2tzQm9udXMgPSBNYXRoLm1pbihkZXN0aW5hdGlvbldhcmxvY2tzQmFsYW5jZSwgc291cmNlQW1hem9ucyk7CiAgICAgICAgICAgICAgICBmbG9hdCBkZXN0aW5hdGlvbldhcmxvY2tzU3RyZW5ndGggPSAoZGVzdGluYXRpb25XYXJsb2NrcyAtIGRlc3RpbmF0aW9uV2FybG9ja3NCb251cyArIChkZXN0aW5hdGlvbldhcmxvY2tzQm9udXMgKiBGSUdIVElOR19CT05VUykpOwogICAgICAgICAgICAgICAgaW50IGRlc3RpbmF0aW9uQ3J1c2FkZXJzQmFsYW5jZSA9IE1hdGgubWF4KDAsIGRlc3RpbmF0aW9uQ3J1c2FkZXJzIC0gc291cmNlQ3J1c2FkZXJzKTsKICAgICAgICAgICAgICAgIGludCBkZXN0aW5hdGlvbkNydXNhZGVyc0JvbnVzID0gTWF0aC5taW4oZGVzdGluYXRpb25DcnVzYWRlcnNCYWxhbmNlLCBzb3VyY2VXYXJsb2Nrcyk7CiAgICAgICAgICAgICAgICBmbG9hdCBkZXN0aW5hdGlvbkNydXNhZGVyc1N0cmVuZ3RoID0gKGRlc3RpbmF0aW9uQ3J1c2FkZXJzIC0gZGVzdGluYXRpb25DcnVzYWRlcnNCb251cyArIChkZXN0aW5hdGlvbkNydXNhZGVyc0JvbnVzICogRklHSFRJTkdfQk9OVVMpKTsKICAgICAgICAgICAgICAgIGludCBkZXN0aW5hdGlvbkFtYXpvbnNCYWxhbmNlID0gTWF0aC5tYXgoMCwgZGVzdGluYXRpb25BbWF6b25zIC0gc291cmNlQW1hem9ucyk7CiAgICAgICAgICAgICAgICBpbnQgZGVzdGluYXRpb25BbWF6b25zQm9udXMgPSBNYXRoLm1pbihkZXN0aW5hdGlvbkFtYXpvbnNCYWxhbmNlLCBzb3VyY2VDcnVzYWRlcnMpOwogICAgICAgICAgICAgICAgZmxvYXQgZGVzdGluYXRpb25BbWF6b25zU3RyZW5ndGggPSAoZGVzdGluYXRpb25BbWF6b25zIC0gZGVzdGluYXRpb25BbWF6b25zQm9udXMgKyAoZGVzdGluYXRpb25BbWF6b25zQm9udXMgKiBGSUdIVElOR19CT05VUykpOwogICAgICAgICAgICAgICAgZmxvYXQgZGVzdGluYXRpb25Ub3RhbFN0cmVuZ3RoID0gZGVzdGluYXRpb25XYXJsb2Nrc1N0cmVuZ3RoICsgZGVzdGluYXRpb25DcnVzYWRlcnNTdHJlbmd0aCArIGRlc3RpbmF0aW9uQW1hem9uc1N0cmVuZ3RoOwogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQSA6ICIgKyBzb3VyY2VXYXJsb2Nrc0JvbnVzICsgIi8iICsgc291cmNlQ3J1c2FkZXJzQm9udXMgKyAiLyIgKyBzb3VyY2VBbWF6b25zQm9udXMgKyAiIHZzIEQgOiAiICsgZGVzdGluYXRpb25XYXJsb2Nrc0JvbnVzICsgIi8iICsgZGVzdGluYXRpb25DcnVzYWRlcnNCb251cyArICIvIiArIGRlc3RpbmF0aW9uQW1hem9uc0JvbnVzKTsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQSA6ICIgKyBzb3VyY2VUb3RhbFN0cmVuZ3RoICsgIiB2cyBEIDogIiArIGRlc3RpbmF0aW9uVG90YWxTdHJlbmd0aCk7Cgl9Cn0=