--- /dev/null
+/*\r
+ * Day 1 parts 1 and 2\r
+ */\r
+package summerofcode;\r
+\r
+import java.io.FileReader;\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+import java.util.Scanner;\r
+\r
+/**\r
+ *\r
+ * @author Anton Dil\r
+ */\r
+public class Day1\r
+{\r
+ private final static Map<String,Double> scores = new HashMap<>();\r
+ \r
+ static\r
+ {\r
+ scores.put("Almaty", 2.0);\r
+ scores.put("Brorfelde", 0.9);\r
+ scores.put("Estacada", 0.4);\r
+ scores.put("Jayuya", 0.6);\r
+ scores.put("Karlukovo", 2.2);\r
+ scores.put("Morgantown", 2.9);\r
+ scores.put("Nordkapp", 1.5);\r
+ scores.put("Nullarbor", 2.2);\r
+ scores.put("Puente-Laguna-Garzonkuala-Penyu", 0.4);\r
+ scores.put("Uzupis", 0.9);\r
+ }\r
+ \r
+ public static void main(String[] args) throws Exception\r
+ { \r
+ Scanner sc = new Scanner(new FileReader("01-holidays.txt")); \r
+ \r
+ String id, loc, bestId = "";\r
+ double value, score;\r
+ double bestValue = 0; \r
+ int price, days; \r
+ int afford = 0;\r
+ \r
+ while(sc.hasNext())\r
+ {\r
+ id = sc.next(); \r
+ price = sc.nextInt(); \r
+ loc = sc.next(); \r
+ days = sc.nextInt(); \r
+ \r
+ if(scores.get(loc) != null)\r
+ {\r
+ score = scores.get(loc);\r
+ }\r
+ else\r
+ {\r
+ score = 1.0;\r
+ }\r
+ \r
+ //only consider holidays we can afford \r
+ if(price <= 1200)\r
+ { \r
+ value = score * days/price; \r
+ \r
+ System.out.printf("%s %d %s %d value %.5f %n", id, price, loc, days, value);\r
+ afford++;\r
+ \r
+ if(value > bestValue)\r
+ {\r
+ bestValue = value;\r
+ bestId = id;\r
+ }\r
+ }\r
+ } \r
+\r
+ System.out.println("Affordable " + afford);\r
+ System.out.printf("Best value is id %s with value %f%n", bestId, bestValue);\r
+ }\r
+}\r