Files
Story-With-Thanh/J06008 - TÍNH GIỜ CHUẨN CHO TỪNG GIẢNG VIÊN.java
2022-12-15 23:51:04 +07:00

120 lines
3.1 KiB
Java

import java.util.*;
public class Main {
static class sub {
String code, name;
double sum;
public sub(String s) {
String[] a = s.trim().split(" ", 2);
code = a[0];
name = a[1];
}
public sub(sub x) {
code = x.code;
name = x.name;
sum = x.sum;
}
public boolean is(String s) {
return s.startsWith(code);
}
@Override
public String toString() {
return name + ' ' + sum;
}
}
static class gv {
String code, name;
double sum;
ArrayList<sub> a;
public gv(String s) {
a = new ArrayList<>();
sum = 0;
String[] a = s.trim().split(" ", 2);
code = a[0];
name = a[1];
}
public boolean is(String s) {
return s.startsWith(code);
}
public boolean contain(sub x) {
for (int i = 0; i < a.size(); i++) {
if (a.get(i).is(x.code))
return true;
}
return false;
}
public void add(sub x) {
if (this.contain(x)) {
for (int i = 0; i < a.size(); i++) {
if (a.get(i).is(x.code)) {
a.get(i).sum += x.sum;
break;
}
}
} else {
this.a.add(x);
}
}
@Override
public String toString() {
return name + ' ' + String.format("%.2f", sum);
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int k = sc.nextInt();
ArrayList<sub> s = new ArrayList<>();
sc.nextLine();
for (int i = 0; i < k; i++) {
s.add(new sub(sc.nextLine()));
}
int n = sc.nextInt();
ArrayList<gv> a = new ArrayList<>();
sc.nextLine();
for (int i = 1; i <= n; i++)
a.add(new gv(sc.nextLine()));
int m = sc.nextInt();
for (int i = 0; i < m; i++) {
String gcode = sc.next();
String scode = sc.next();
double time = sc.nextDouble();
int ind = 0;
sub x = new sub(s.get(0));
for (int j = 0; j < n; j++) {
if (a.get(j).is(gcode)) {
ind = j;
break;
}
}
for (int j = 0; j < k; j++) {
if (s.get(j).is(scode)) {
x=new sub(s.get(j));
break;
}
}
x.sum = time;
a.get(ind).add(x);
a.get(ind).sum += x.sum;
}
String code = sc.next();
for (int i = 0; i < n; i++) {
if(a.get(i).is(code)){
System.out.printf("Giang vien: %s\n", a.get(i).name);
a.get(i).a.forEach(e -> System.out.println(e));
System.out.printf("Tong: %.2f", a.get(i).sum);
}
}
}
}