文档章节

小招喵所在的国家正处于怪兽入侵的战场中,这个国家一共有n+1个城市

 南桥北木
发布于 09/16 18:43
字数 403
阅读 126
收藏 0

import java.util.Arrays;

import java.util.Scanner;

public class test3 {

 public static long max=0;
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int n=sc.nextInt();
    long c[]=new long[n+1];
    for(int i=0;i<n+1;i++)
        c[i]=sc.nextInt();
    long d[]=new long[n];
    for(int i=0;i<n;i++)
        d[i]=sc.nextInt();
    int a[]=new int[n];
    for(int i=0;i<n;i++)
        a[i]=i;
    f(a,0,c,d);
    System.out.println(max);
}

public static void f(int a[],int k,long c[],long d[]){
    if(k==a.length){
       long n=g(a,c,d);
       if(max<n)
           max=n;
    }
    for(int i=k;i<a.length;i++){
        int temp=a[k];
        a[k]=a[i];
        a[i]=temp;
        f(a,k+1,c,d);
        int temp1=a[k];
        a[k]=a[i];
        a[i]=temp1;

    }
}

public static long g(int a[],long c[],long d[]){
    long temp []= Arrays.copyOf(c,c.length);

    long sum=0;
    for(int i=0;i<a.length;i++){
	
        //判断该第i个勇士是否同时消灭掉第a[i],和a[i]+1两城的怪兽, temp[a[i]]=0;
        //                temp[a[i]+1]=0;
		
        if(d[i]>=temp[a[i]]+temp[a[i]+1]){
            sum+=temp[a[i]]+temp[a[i]+1];
            temp[a[i]]=0;
            temp[a[i]+1]=0;
        }else{
		
            //判断第i个勇士是否消灭掉的数大于第a[i]个城市的怪兽,如果大于,将 temp[a[i]]=0;
            //第a[i]+1城市的怪兽 temp[a[i]+1]=temp[a[i]+1]-(d[i]-temp[a[i]]);
            if(d[i]>temp[a[i]]){
                sum+=d[i];
                temp[a[i]+1]=temp[a[i]+1]-(d[i]-temp[a[i]]);
                temp[a[i]]=0;
            }else{
                //这种情况是连第a[i]个城市的怪兽都消灭不了
                sum+=d[i];
                temp[a[i]]=temp[a[i]]-d[i];
            }

        }
    }
    return sum;
}

}

© 著作权归作者所有

粉丝 1
博文 416
码字总数 77283
作品 0
武汉
私信 提问
bzoj3875 [Ahoi2014&Jsoi2014]骑士游戏

Description 长期的宅男生活中, 又挖掘出了一款 游戏。在这个游戏中 会扮演一个英勇的骑士,用他手中的长剑去杀死入侵村庄的怪兽。 在这个游戏中, 一共有两种攻击方式,一种是普通攻击,一...

aziint
2017/12/26
0
0
高性能 Web 开发:减少数据库往返

背景 Web程序的后端主要有两个东西:渲染(生成HTML,或数据序列化)和IO(数据库操作,或内部服务调用)。今天要讲的是后面那个,关注一下如何减少数据库往返这个问题。最快的查询是不存在的...

renwofei423
2013/06/16
13.7K
25
观点 | 网络军备竞赛即将开始,如何制定人工智能的国际准则

  选自Nature   作者:Mariarosaria Taddeo、Luciano Floridi   机器之心编译   参与:李泽南、路      随着人工智能技术发展,网络空间的安全风险正在变得越来越大。但是,各个...

机器之心
2018/04/18
0
0
Jzoj3303 城市规划

刚刚解决完电力网络的问题, 阿狸又被领导的任务给难住了. 刚才说过, 阿狸的国家有n 个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接或间接的连通....

JacaJava
2018/01/25
0
0
如何读取数据库信息后 继续二次排序?

场景: 1:比如我数据库里是 按照ID排序的 ID 经度 纬度 地点 国家 1 120 90 北京 中国 2 130 90 韩城 韩国 假如这2个国家二个城市 那么我SQL读取出来,可以按照ID的升降序进行排列。 但我知...

hi31435776
2015/03/13
290
2

没有更多内容

加载失败,请刷新页面

加载更多

【1015】LNMP架构二

【1015】LNMP架构二 三、PHP安装 PHP安装和LAMP安装PHP方法有差别,需要开启php-fpm服务 1、下载PHP7至/usr/local/src/ 切换目录:cd /usr/local/src 2、解压缩 tar -jxvf php-7.3.0.tar.gz...

飞翔的竹蜻蜓
44分钟前
4
0
浅谈Visitor访问者模式

一、前言 什么叫访问,如果大家学过数据结构,对于这点就很清晰了,遍历就是访问的一般形式,单独读取一个元素进行相应的处理也叫作访问,读取到想要查看的内容+对其进行处理就叫作访问,那么...

青衣霓裳
今天
6
0
JS内嵌多个页面,页面之间如何更快捷的查找相关联的页面

假设parent为P页面, P页面有两个子页面,分别为B页面和C页面; B页面和C页面分别内嵌一个iframe,分别为:D页面和E页面 现在通过B页面的内嵌页面D的方法refreshEpage(eUrl)来加载内嵌页面E的内容...

文文1
今天
7
0
Hibernate 5 升级后 getProperties 错误

升级到 Hibernate 5 后,提示有错误: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map; 完整的错误栈为: java.lang.NoSuchMethodError: org.hibernate......

honeymoose
今天
6
0
mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部