Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
- )
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement