java实例--海盗的最优方案
package unit4; public class Pirate{
private String name;
private int[] schemes;
private int index;
public Pirate(int t,int i) {
name="unknow";
index=i;
schemes=makeSchemes(t);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getIndex(){return index;}
public int[] getSchemes() {return schemes;}
public int handvote(int table[]) {
return myhandvote(table,index);
}
private int myhandvote(int []t,int i) {
if(t[i]==0) return 0;
if(i==1) return 0;
return 1;
}
public int[] makeSchemes(int t) {
int vote=0;
schemes =new int[t-index];
do{
for(int i=0;i<schemes.length;i++){
schemes[i]=(i+1)%2;
}
for(int i=0;i<schemes.length;i++){
vote=vote+myhandvote(schemes,i);
}
}while(!(2*vote>t/2));
return schemes; } }
package unit4; public class Judger {
int[] allot;
Pirate[] pirates;
public Judger(Pirate []pirates,int[]a) {
this.pirates=pirates;
allot=a;
}
public int[] getAllot() {
return allot;
}
public void setAllot(int[] allot) {
this.allot = allot;
}
public Pirate[] getPirates() {
return pirates;
}
public void setPirates(Pirate[] pirates) {
this.pirates = pirates;
}
public boolean evaluate(){
int vote=0;
for(int i=0;i<pirates.length;i++){
vote+=pirates[i].handvote(allot);
}
if(2*vote>=pirates.length) return true;
else return false;
} }
package unit4; public class MaxInterest {
public static void main(String[] args) {
int piratecounts=5;
Pirate[]pirates=new Pirate[piratecounts];
for(int i=0;i<piratecounts;i++){
pirates[i]=new Pirate(piratecounts,i);
pirates[i].setName("name"+i);
}
int[]table =pirates[0].getSchemes();
Judger ajudge=new Judger(pirates,table);
if(ajudge.evaluate()){
int[]scheme=ajudge.getAllot();
for(int i=0;i<scheme.length;i++) System.out.println(" "+scheme[i]);
}
} }
java实例--海盗的最优方案的更多相关文章
- [java] JVM监控与调优
原文出处:http://www.cnblogs.com/zhguang/p/java-jvm-gc.html 光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分 ...
- Atitti.java android反编译解决方案-----虚拟机方案
Atitti.java android反编译解决方案-----虚拟机方案 哈哈,终极解决方案是虚拟机...c++也可以反编译为汇编代码,但无需担心,因为读懂汇编太麻烦..只要不能拿到c++源码就可.. ...
- 数据分表Mybatis Plus动态表名最优方案的探索
一.应用场景 大家在使用Mybatis进行开发的时候,经常会遇到一种情况:按照月份month将数据放在不同的表里面,查询数据的时候需要跟不同的月份month去查询不同的表. 但是我们都知道,Mybat ...
- Thrift入门及Java实例演示<转载备用>
Thrift入门及Java实例演示 作者: Michael 日期: 年 月 日 •概述 •下载配置 •基本概念 .数据类型 .服务端编码基本步骤 .客户端编码基本步骤 .数据传输协议 •实例演示(ja ...
- Protocol Buffer技术详解(Java实例)
Protocol Buffer技术详解(Java实例) 该篇Blog和上一篇(C++实例)基本相同,只是面向于我们团队中的Java工程师,毕竟我们项目的前端部分是基于Android开发的,而且我们研发 ...
- linux内存基础知识和相关调优方案
内存是计算机中重要的部件之中的一个.它是与CPU进行沟通的桥梁. 计算机中全部程序的执行都是在内存中进行的.因此内存的性能对计算机的影响很大.内存作用是用于临时存放CPU中的运算数据,以及与硬盘等外部 ...
- Java高并发的常见应对方案
Java高并发的常见应对方案 一.关于并发我们说的高并发是什么? 在互联网时代,高并发,通常是指,在某个时间点,有很多个访问同时到来. 高并发,通常关心的系统指标与业务指标? QPS:每秒钟查询量,广 ...
- JAVA实例
JAVA实例1 1 package Demo3; import java.io.File; import java.io.FileReader; import java.io.IOExceptio ...
- Java 实例 - 如何执行指定class文件目录(classpath) Java 实例 J
Java 实例 - 如何执行指定class文件目录(classpath) Java 实例 如果我们 Java 编译后的class文件不在当前目录,我们可以使用 -classpath 来指定class ...
随机推荐
- iOS团队开发者测试
那么你需要在你下载证书的那个电脑上从钥匙串-->选择证书-->右键到处证书,保存为.p12的证书,以后这个证书拷贝到任何电脑上去都是可以使用的! 本来只有一台电脑可以测试, 现在要团队开发 ...
- iso socket基础2
iPhone socket 编程之BSD Socket篇 收藏在进行iPhone网络通讯程序的开发中,不可避免的要利用Socket套接字.iPhone提供了Socket网络编程的接口CFSocket, ...
- reverse array java
/* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import ...
- linux tar文件解压
把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个, ...
- 栈应用hanoi
/* 课本p54页*/ #include<stdio.h> #include <iostream> using namespace std; void move(int n, ...
- poj3295
Tautology Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10453 Accepted: 3967 Descri ...
- Linux 浅谈Linux 操作系统的安全设置
如今linux系统安全变的越来越重要了,这里我想把我平时比较常使用的一些linux下的基本的安全措施写出来和大家探讨一下,让我们的linux系统变得可靠. 1.BIOS的安全设置 这是最基本的了,也是 ...
- BeautifulSoup获取指定class样式的div
如何获取指定的标签的内容是解析网页爬取数据的必要手段,比如想获取<div class='xxx'> ...<div>这样的div标签,通常有三种办法, 1)用字符串查找方法,然 ...
- sharepoint更新多行文本webparth
前台 <script> function Copy() { var value = document.getElementById("<%=BodyBox.ClientID ...
- 惊魂web应用宕机记一次网站的紧急恢复
这次网站的故障出现的比较突然,没有任何防备,有种突如其来的感觉.这是一台阿里云服务器,采用wdcp的nginx+apache+mysql的方式运行.一位同事在对web目录进行压缩后,由于web目录有很 ...