// 海伦公式 public class Main { public static void main(String[] args) { double a = Math.sqrt((6.4 - 2.3) * (6.4 - 2.3) + (3.1 - 2.5) * (3.1 - 2.5)); double b = Math.sqrt((5.1 - 2.3) * (5.1 - 2.3) + (7.2 - 2.5) * (7.2 - 2.5)); double c = Math.sqrt((6.4 - 5.1) * (6.4 - 5.1) + (7.2 - 3.1) * (7.2 - 3.1)); double q = (a + b + c) / 2.0; double area = Math.sqrt(q * (q - a) * (q - b) * (q - c)); System.out.println(area); } }
// 答案:839542176 public class Main { static int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; static int ans = 0; public static void main(String[] args) { f(a.length - 1); System.out.println(ans); } public static void f(int start) { if (start >= 0 && start <= 7) { check(start); } for (int i = start; i >= 0; i--) { { int temp = a[i]; a[i] = a[start]; a[start] = temp; } f(start - 1); { int temp = a[i]; a[i] = a[start]; a[start] = temp; } } } public static boolean check(int start) { String s1 = ""; for (int i = 0; i <= start; i++) { s1 += a[i]; } String s2 = ""; for (int i = start + 1; i < a.length; i++) { s2 += a[i]; } int num1 = Integer.parseInt(s1); int num2 = Integer.parseInt(s2); int sum = num1 * num2; if (sum < 830000000 || sum > 987654321) return false; if (!isOk(sum)) return false; if (sum > ans) ans = sum; return true; } public static boolean isOk(int num) { String s = "" + num; for (int i = 1; i <= 9; i++) { if (s.indexOf(i + "") == -1) return false; } return true; } }
import java.util.*; public class A { static void permu(char[] data, int cur){ if(cur==data.length-1){ System.out.println(new String(data)); return; } for(int i=cur; i<data.length; i++){ char tmp = data[i]; for(int j=i-1; j>=cur; j--) data[j+1] = data[j]; data[cur] = tmp; permu(data, cur+1); tmp = data[cur]; for(int j = cur; j < i; j++) data[j] = data[j + 1]; data[i] = tmp; } } static void permu(String x){ permu(x.toCharArray(),0); } public static void main(String[] args){ permu("1234"); } }
package Test9; import java.util.Scanner; public class Test4 { public static void main(String[] args) { //三个点求区的 面积 Scanner s= new Scanner(System.in); int M = s.nextInt(); int N =s.nextInt(); int [][] arr = new int[M][N]; int [][] n = new int[10][4]; System.out.println(n[0][0]); s.nextLine(); for (int i = 0; i < M; i++) { String str= s.nextLine(); for (int j = 0; j < N; j++) { arr[i][j] = Integer.parseInt(str.substring(j,j+1)); if (i<n[arr[i][j]][0]){ n[arr[i][j]][0]=i; } if (j<n[arr[i][j]][1]){ n[arr[i][j]][1]=j; } if (i>n[arr[i][j]][2]){ n[arr[i][j]][2]=i; } if (j>n[arr[i][j]][3]){ n[arr[i][j]][3]=j; } } } for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { System.out.print(arr[i][j]); } System.out.println(); } OUT:for (int i = 0; i < 10; i++) { if (n[i][0]==n[i][2]&&n[i][1]==n[i][3]){ continue; }else { for (int k = n[i][0]; i <= n[i][2]; i++) { for (int j = n[i][1]; j <= n[i][3]; j++) { if (arr[k][j] != i){ System.out.println("不符合"); break OUT; } } } } } System.out.println("符合"); } //整理玩具 }
package Test9; import java.util.Scanner; public class Test5 { //写一个并查集 static int parent[] = new int[100000]; static{ for (int i = 0; i < parent.length; i++) { parent[i]=i; } } static void union(int x, int y){ parent[find(y)]=x; } static int find(int x){ if (parent[x] == x){ return x; }else { return find(parent[x]); } } static boolean find(int x,int y){ do { if (parent[y]==x) return true; y = parent[y]; }while (parent[y] != y); return false; } public static void main(String[] args) { Scanner s= new Scanner(System.in); int M = s.nextInt(); int Q = s.nextInt(); System.out.println(M+Q); for (int i = 0; i < M-1; i++) { union(s.nextInt(),s.nextInt()); } for (int i = 0; i < Q; i++) { if (find(s.nextInt(),s.nextInt())){ System.out.println("YES"); }else { System.out.println("NO"); } } } }