我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

«1 2 » Pages: ( 2/2 total )
本页主题: 最大值问题——顶着工科智商的头颅们进 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

qidann



性别: 帅哥 状态: 该用户目前不在线
头衔: 菠菜烧股且为乐 浮云散尽还复来
等级: 人见人爱
家族: 起早不摸黑
发贴: 4546
威望: 0
浮云: 1998
在线等级:
注册时间: 2006-05-09
最后登陆: 2011-03-01

5come5帮你背单词 [ reactor /ri(:)'æktə/ n. 反应堆,反应器 ]


Quote:
引用第11楼tj.g于2007-07-28 14:49发表的  :如果一个市场附近有两个厂怎么办?

那就是1.5的二次方倍

有x个造币厂接壤  时常就是原来的1.5^x倍
顶端 Posted: 2007-07-29 18:20 | [15 楼]
帅哥未娶



性别: 帅哥 状态: 该用户目前不在线
等级: 初出茅庐
发贴: 76
威望: 0
浮云: 1364
在线等级:
注册时间: 2007-05-31
最后登陆: 2008-06-30

5come5帮你背单词 [ hello /'hə'ləu/ int. 喂!你好!(hello=hullo) ]


在1,2,6建立市场,剩余的建立造币厂,最多可以相当于[15.1406]=15个市场的效果。
用的方法很笨,我穷举了,不要笑哈。。。。。。。。。Matlab程序如下
function [location,value]=shichang
%穷举法验证三国志11的市场、造币厂建设问题
%location表示建设造币厂的地点编号,例如:location=[3 5 8]表示在3、5 、8建造币厂,剩余的地点建市场
%value表示总体市场价值的最大值
A=[0 1 1 1 0 0 0 0 0;            %给出地图的邻接矩阵A
    1 0 0 1 0 0 0 0 0;
    1 0 0 1 1 1 0 0 0;
    1 1 1 0 0 1 1 0 0;
    0 0 1 0 0 1 0 1 0;
    0 0 1 1 1 0 1 1 1;
    0 0 0 1 0 1 0 0 1;
    0 0 0 0 1 1 0 0 1;
    0 0 0 0 0 1 1 1 0];                                             
i=0;x=[];value=0;mi=[];
while i<2^9,                       
    x=num2bin(i,9);
    [x,yvalue]=jiazhi(x,A);
    if value<yvalue,
        value=yvalue;
        mi=x;
    end
    i=i+1;
end
location=find(mi);


function x=num2bin(i,n)
%函数负责把十进制数i转化成n*1的一个列向量(2进制)
for j=1:n,
        if j==1,
            x(j)=mod(i,2);
        else x(j)=fix(mod(i/2^(j-1),2));
        end
end
x=x';
x=flipud(x);


function [x,yvalue]=jiazhi(x,A)
%该子函数负责计算总价值
y=1-x;                            %y表示建造市场的地点
a=A(find(y),find(x));            %a表示跟市场相邻的造币厂情况
sumx=sum(a')';
yvalue=sum(1.5.^sumx);
本帖最近评分记录:
  • 浮云:0(tj.g) 原来是有注释的。。汗。。不好意思
  • 浮云:5(tj.g) 很好。不过程序应该注释,不太习惯MATLAB的语法了。 ..
  • 顶端 Posted: 2007-07-29 21:14 | [16 楼]
    «1 2 » Pages: ( 2/2 total )
    我来我网·5come5 Forum » 智力考场

    Total 0.014463(s) query 5, Time now is:11-21 20:57, Gzip enabled
    Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号