ccf线性分类第一题
package CCF202006;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class CCF1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[] x = new int[n];
int[] y = new int[n];
String[] type = new String[n];
int[] a0 = new int[m];
int[] a1 = new int[m];
int[] a2 = new int[m];
String[] result = new String[m];
for (int i = 0; i < n; i++) {
x[i] = sc.nextInt();
y[i] = sc.nextInt();
type[i] = sc.next();
}
for (int i = 0; i < m; i++) {
a0[i] = sc.nextInt();
a1[i] = sc.nextInt();
a2[i] = sc.nextInt();
result[i] = "Yes";
Map<String, Integer> map = new HashMap<String, Integer>();
int countA = 0;
int countB = 0;
for (int j = 0; j < n; j++) {
int cur = a0[i] + x[j] * a1[i] + y[j] * a2[i];
int flag = (cur > 0) ? 1 : -1;
if (map.containsKey(type[j]) && map.get(type[j]) != flag) {
result[i] = "No";
break;
}
if (type[j].equals("A") && countA == 0) {
map.put( "A",flag);
countA += 1;
}
if (type[j].equals("B") && countB == 0) {
map.put( "B",flag);
countB += 1;
}
}
}
for (String string : result) {
System.out.println(string);
}
}
}
`