fork(5) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. float FIGHTING_BONUS = 1.5f;
  13. int sourceWarlocks = 20;
  14. int sourceCrusaders = 10;
  15. int sourceAmazons = 0;
  16.  
  17. int destinationWarlocks = 12;
  18. int destinationCrusaders = 12;
  19. int destinationAmazons = 12;
  20.  
  21. int sourceWarlocksBalance = Math.max(0, sourceWarlocks - destinationWarlocks);
  22. int sourceWarlocksBonus = Math.min(sourceWarlocksBalance, destinationAmazons);
  23. float sourceWarlocksStrength = (sourceWarlocks - sourceWarlocksBonus + (sourceWarlocksBonus * FIGHTING_BONUS));
  24. int sourceCrusadersBalance = Math.max(0, sourceCrusaders - destinationCrusaders);
  25. int sourceCrusadersBonus = Math.min(sourceCrusadersBalance, destinationWarlocks);
  26. float sourceCrusadersStrength = (sourceCrusaders - sourceCrusadersBonus + (sourceCrusadersBonus * FIGHTING_BONUS));
  27. int sourceAmazonsBalance = Math.max(0, sourceAmazons - destinationAmazons);
  28. int sourceAmazonsBonus = Math.min(sourceAmazonsBalance, destinationCrusaders);
  29. float sourceAmazonsStrength = (sourceAmazons - sourceAmazonsBonus + (sourceAmazonsBonus * FIGHTING_BONUS));
  30. float sourceTotalStrength = sourceWarlocksStrength + sourceCrusadersStrength + sourceAmazonsStrength;
  31.  
  32. int destinationWarlocksBalance = Math.max(0, destinationWarlocks - sourceWarlocks);
  33. int destinationWarlocksBonus = Math.min(destinationWarlocksBalance, sourceAmazons);
  34. float destinationWarlocksStrength = (destinationWarlocks - destinationWarlocksBonus + (destinationWarlocksBonus * FIGHTING_BONUS));
  35. int destinationCrusadersBalance = Math.max(0, destinationCrusaders - sourceCrusaders);
  36. int destinationCrusadersBonus = Math.min(destinationCrusadersBalance, sourceWarlocks);
  37. float destinationCrusadersStrength = (destinationCrusaders - destinationCrusadersBonus + (destinationCrusadersBonus * FIGHTING_BONUS));
  38. int destinationAmazonsBalance = Math.max(0, destinationAmazons - sourceAmazons);
  39. int destinationAmazonsBonus = Math.min(destinationAmazonsBalance, sourceCrusaders);
  40. float destinationAmazonsStrength = (destinationAmazons - destinationAmazonsBonus + (destinationAmazonsBonus * FIGHTING_BONUS));
  41. float destinationTotalStrength = destinationWarlocksStrength + destinationCrusadersStrength + destinationAmazonsStrength;
  42.  
  43. System.out.println("A : " + sourceWarlocksBonus + "/" + sourceCrusadersBonus + "/" + sourceAmazonsBonus + " vs D : " + destinationWarlocksBonus + "/" + destinationCrusadersBonus + "/" + destinationAmazonsBonus);
  44. System.out.println("A : " + sourceTotalStrength + " vs D : " + destinationTotalStrength);
  45. }
  46. }
Success #stdin #stdout 0.1s 320320KB
stdin
Standard input is empty
stdout
A : 8/0/0 vs D : 0/2/10
A : 34.0 vs D : 42.0