博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java面向对象2(G~J)
阅读量:5084 次
发布时间:2019-06-13

本文共 5092 字,大约阅读时间需要 16 分钟。

G    织女的红线(SDUT 2240)

import java.util.Scanner;import java.text.DecimalFormat;class Sum {	double x1, y1, x2, y2;	Sum(double n1, double m1, double n2, double m2) {		x1 = n1;		x2 = n2;		y1 = m1;		y2 = m2;	}	double getAns() {		double ans = 0;		ans = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);		ans = Math.sqrt(ans);		return ans;	}}public class Main {	public static void main(String[] args) {		Scanner sc = new Scanner(System.in);		DecimalFormat df = new DecimalFormat(".00");		int t, r;		double ans = 0;		double x[] = new double[200];		double y[] = new double[200];		t = sc.nextInt();		r = sc.nextInt();		for (int i = 1; i <= t; i++) {			x[i] = sc.nextDouble();			y[i] = sc.nextDouble();		}		x[t + 1] = x[1];		y[t + 1] = y[1];		Sum p;		for (int i = 1; i <= t; i++) {			p = new Sum(x[i], y[i], x[i + 1], y[i + 1]);			ans += p.getAns();		}		ans += 2 * r * 3.1415926;		System.out.println(df.format(ans));	}}

H     分数加减法(SDUT 2253)

import java.util.Scanner;import java.text.DecimalFormat;class Sum {	int x1, y1, x2, y2;	char str;	Sum(int n1, int m1, int n2, int m2, char op) {		x1 = n1;		x2 = n2;		y1 = m1;		y2 = m2;		str = op;	}	int getGcd(int a, int b) {		int n = a, m = b;		while (m > 0) {			int x = n;			n = m;			m = x % m;		}		return n;	}	void getAns() {		int x = getGcd(y1, y2);		int a, b, c, d, ans1, ans2;		a = x1;		b = y1;		c = x2;		d = y2;		int lcm = b * d / x;		a = a * d / x;		c = c * b / x;		if (str == '+')			ans1 = a + c;		else			ans1 = a - c;		ans2 = lcm;		if (ans1 < 0)			x = -ans1;		else			x = ans1;		x = getGcd(x, ans2);		if (ans1 % x == 0 && ans2 % x == 0) {			ans1 /= x;			ans2 /= x;		}		if (ans1 == 0 && ans1 != ans2 || ans2 == 1)			System.out.println(ans1);		else if (ans1 == ans2)			System.out.println(1);		else			System.out.println(ans1 + "/" + ans2);	}}public class Main {	public static void main(String[] args) {		Scanner sc = new Scanner(System.in);		// DecimalFormat df = new DecimalFormat(".00");		Sum p;		String s;		char op;		while (sc.hasNext()) {			s = sc.next();			// System.out.println(s);			int x1 = s.charAt(0) - '0';			int y1 = s.charAt(2) - '0';			op = s.charAt(3);			int x2 = s.charAt(4) - '0';			int y2 = s.charAt(6) - '0';			// System.out.println(x1 + " " + y1 + " " + x2 + " " + y2 + " " + op);			p = new Sum(x1, y1, x2, y2, op);			p.getAns();		}	}}

高中数学?(SDUT 2400)

import java.util.*;public class Main {	public static void main(String[] args) {		Scanner sc = new Scanner(System.in);		int t = sc.nextInt();		for (int i = 0; i < t; i++) {			int n = sc.nextInt();			Sum p = new Sum(n);			int ans = p.getAns(n);			System.out.println(ans);		}		sc.close();	}}class Sum {	int a[] = new int[55];	int n;	public Sum(int n) {		a[1] = 0;		a[2] = 1;		for (int i = 3; i <= 50; i++) {			a[i] = 4 * a[i - 1] - 5 * a[i - 2];		}		this.n = n;	}	public int getAns(int n) {		return a[n];	}}

最大矩形面积(SDUT 2401)

import java.lang.reflect.Array;import java.util.*;public class Main {	public static void main(String[] args) {		Scanner sc = new Scanner(System.in);		int t = sc.nextInt();		int n,l,w;		node s[] = new node[2000];		for (int i = 0; i < t; i++) {			l = sc.nextInt();			w = sc.nextInt();			n = sc.nextInt();			for(int j = 0; j < n; j ++)			{				s[j] = new node();				s[j].x = sc.nextInt();				s[j].y = sc.nextInt();			}			//Arrays.sort(s,0,n,new cmp());			Sum p = new Sum(l,w,n,s);			if(n == 0)				System.out.println(l * w);			else 				System.out.println(p.getAns());		}		sc.close();	}}class node{	int x;	int y;}class cmp implements Comparator
{ public int compare(node a, node b) { if(a.x - b.x != 0) return a.x - b.x; else return a.y - b.y; }}class cmp1 implements Comparator
{ public int compare(node a, node b) { if(a.y - b.y != 0) return a.y - b.y; else return a.x - b.x; }}class Sum { int l,w,n; node s[] = new node[2000]; Sum(int l, int w, int n, node s[]) { this.l = l; this.w = w; this.n = n; this.s = s; } int max(int a, int b) { if(a >= b) return a; else return b; } int min(int a, int b) { if(a >= b) return b; else return a; } int getAns1() { Arrays.sort(s,0,n,new cmp1()); int i,j,ans1; ans1 = 0; for (i = 0; i < n; ++i) { int L = 0, R = l; for (j = i + 1; j < n; ++j) { if (s[i].y != s[j].y) { ans1 = max(ans1,(s[j].y - s[i].y)*(R - L)); if (s[j].x > s[i].x) R = min(R,s[j].x); else L = max(L,s[j].x); } } } return ans1; } int getAns2() { Arrays.sort(s,0,n,new cmp()); int i,j,ans2; ans2 = 0; for (i = 0; i < n; ++i) { int top = w, down = 0; for (j = i + 1; j < n; ++j) { if (s[i].x != s[j].x) { ans2 = max(ans2,(s[j].x - s[i].x)*(top - down)); if (s[j].y > s[i].y) top = min(top,s[j].y); else down = max(down,s[j].y); } } } return ans2; } int getAns() { int ans,ans1,ans2; ans1 = getAns1(); ans2 = getAns2(); ans = max(ans1,ans2); return ans; }}

 

转载于:https://www.cnblogs.com/lcchy/p/10139484.html

你可能感兴趣的文章
【传道】中国首部淘宝卖家演讲公开课:农业本该如此
查看>>
jQuery应用 代码片段
查看>>
MVC+Servlet+mysql+jsp读取数据库信息
查看>>
黑马程序员——2 注释
查看>>
用OGRE1.74搭建游戏框架(三)--加入人物控制和场景
查看>>
转化课-计算机基础及上网过程
查看>>
android dialog使用自定义布局 设置窗体大小位置
查看>>
ionic2+ 基础
查看>>
互联网模式下我们更加应该“专注”
查看>>
myeclipse集成jdk、tomcat8、maven、svn
查看>>
查询消除重复行
查看>>
Win 10 文件浏览器无法打开
查看>>
HDU 1212 Big Number(C++ 大数取模)(java 大数类运用)
查看>>
-bash: xx: command not found 在有yum源情况下处理
查看>>
[leetcode]Minimum Path Sum
查看>>
内存管理 浅析 内存管理/内存优化技巧
查看>>
hiho1079 线段树区间改动离散化
查看>>
【BZOJ 5222】[Lydsy2017省队十连测]怪题
查看>>
第二次作业
查看>>
【input】 失去焦点时 显示默认值 focus blur ★★★★★
查看>>