Created
October 4, 2019 16:52
-
-
Save ShikaSD/9e5cccb2e6aafcd93e7591232ca3a33a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
object Main { | |
private val out: PrintWriter = | |
PrintWriter(BufferedWriter(OutputStreamWriter(System.out, "UTF-8"), 512)) | |
@JvmStatic | |
fun main(args: Array<String>) { | |
val bufferReader = BufferedReader(InputStreamReader(FileInputStream(File("f_big.in")))) | |
val stringTokenizer = StringTokenizer(bufferReader.readLine()) | |
val nodes = HashMap<String, Node>() | |
val files = parseLong(stringTokenizer.nextToken()) | |
val targets = parseLong(stringTokenizer.nextToken()) | |
val servers = parseLong(stringTokenizer.nextToken()) | |
for (i in 0 until files) { | |
val stringTokenizer = StringTokenizer(bufferReader.readLine()) | |
val name = stringTokenizer.nextToken() | |
val compilation = parseLong(stringTokenizer.nextToken()) | |
val replication = parseLong(stringTokenizer.nextToken()) | |
val dependencies = mutableListOf<Node>() | |
val depsTokenizer = StringTokenizer(bufferReader.readLine()) | |
val depNum = parseLong(depsTokenizer.nextToken()) | |
for (j in 0 until depNum) { | |
val depName = depsTokenizer.nextToken() | |
val dependency = nodes[depName]!! | |
dependencies.add(dependency) | |
} | |
val node = Node( | |
name = name, | |
compilation = compilation, | |
replication = replication, | |
dependencies = dependencies | |
) | |
nodes[name] = node | |
} | |
val goals = mutableListOf<Target>() | |
for (i in 0 until targets) { | |
val stringTokenizer = StringTokenizer(bufferReader.readLine()) | |
val name = stringTokenizer.nextToken() | |
val deadline = parseLong(stringTokenizer.nextToken()) | |
val goal = parseLong(stringTokenizer.nextToken()) | |
val target = Target( | |
name = name, | |
deadline = deadline, | |
goal = goal | |
) | |
goals.add(target) | |
} | |
// out.println(nodes) | |
// out.println(goals) | |
// out.println(servers) | |
out.flush() | |
} | |
data class Node( | |
val name: String?, | |
val compilation: Long, | |
val replication: Long, | |
val dependencies: List<Node> | |
) | |
data class Target( | |
val name: String, | |
val deadline: Long, | |
val goal: Long | |
) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment