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 ...
随机推荐
- seajs之seajs-debug坑
最近遇到两个关于seajs-debug的坑 一个与preload有关,详情见https://github.com/seajs/seajs-debug/issues/15 一个与map时间戳有关,详情见 ...
- Chrome中的Device模块调式响应性设计
Chrome中的Device模块调式响应性设计 阅读目录 启用Device模块 Device模块设置介绍 自定义预设介绍 查看media queries 触发触摸事件 回到顶部 启用Device模块 ...
- Wormholes(Bellman-ford)
Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 33008 Accepted: 12011 Descr ...
- 还是畅通工程(MST)
还是畅通工程 Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Statu ...
- 关于NGUI的动态加载后的刷新显示问题,解决办法!!
http://momowing.diandian.com/post/2012-09-06/40038001275 最近碰NGUI用到它的动态列表功能(ps:就是加东西,删除东西).我这里用的是UIDr ...
- HDOJ 1856
#include<cstdio> #include<cstdlib> typedef struct ufse *ufset; struct ufse { ]; ]; }UFS; ...
- 生成PHP数组文件
1. 解释型语言的妙处之一,在于可以动态生成代码再调用执行~2. 对于数据量不大(几千条?)的(key,value),存成数组文件,执行查找操作,效率应该是好于数据库操作的:3. php的数组,是ha ...
- Linux下PS1、PS2、PS3、PS4使用详解
参考印象笔记:
- 【Redis】Redis分布式集群几点说道
Redis数据量日益增大,使用的公司越来越多,不仅用于做缓存,同时趋向于存储这一块,这样必促使集群的发展,各个公司也在收集适合自己的集群方案,目前行业用的比较多的是下面几种集群架构,大部分都是采用分片 ...
- CheckBoxList1复选框
循环绑定数据的两个方法: List<string> LIColl = new List<string>(); protected void Page_Load(object s ...