博客开了快半年了- -学习编程也快1年半了,觉得空空的不太好看,刚好最近开始练习ACM了,就来做一个简单的ACM学习笔记吧,纪念的第一题zol 1221 Risk 风险游戏(个人觉得是这样翻- -翻译错了的话,别打脸就行)。

  题目简述,一个20个国家,玩家每次只能从攻击相邻的国家,计算I国家攻击J国家最少要攻击的国家数(渣翻莫怪)。

  输入: 前19行为地图设定,每行第一个数字为第I个国家相邻的国家数(该数目只往前数不后数),后面的n个数字为国家编号,然后是需要计算的次数N,之后就是N行2个数字的需计算国家编号。

  输出:相信输出直接看题就可以了- -我就不翻了。注意一点。。该游戏是可以无限循环的,输出的第一行“Test Set #T“ T是不断增加的,还有就是每一次游戏结束都要空一行才能进行下一场游戏(因为这坑爹的原因我PE了10多次啊(ノ=Д=)ノ┻━┻)。不说了贴代码。

import java.util.*;
public class Main {
public static void main(String arg[]){
Scanner scan = new Scanner(System.in);
int[][] country = new int[20][20];
int T= 1;
while(scan.hasNext()){
SetMap(country,scan);
Floyd(country);
int rtime=scan.nextInt();
System.out.println("Test Set #"+T++);
while(rtime-->0){
int Fc=scan.nextInt();
int Sc=scan.nextInt();
System.out.println(Fc+" to "+Sc+": "+country[Fc-1][Sc-1]);
}
System.out.print("\n");
}
}
public static void SetMap(int country[][],Scanner scan){
for(int i=0;i<20;i++){
for(int j=0;j<country[i].length;j++){
/*country[i][j]=Integer.MAX_VALUE;*/
country[i][j]=32767;
}
}
for(int i=0;i<19;i++){
int sob=scan.nextInt(); //borders counrty counts
for(int j=sob;j>0;j--){
int any=scan.nextInt();
country[i][any-1]=1;
country[any-1][i]=1;
}
}
}
public static void Floyd(int [][]d){
int k,l,m,o;
for(k=0;k<20;k++){
for(l=0;l<20;l++){
for(m=0;m<20;m++){
if(l!=m){
if(d[l][m]>(d[l][k]+d[k][m])){
d[l][m]=d[l][k]+d[k][m];
d[m][l]=d[l][m];
}
}else{
d[l][m]=d[m][l]=0;
}
}
}
}
}
}

代码有误的或有更好的写法请指出,菜鸟的我会认真改过的(→_←),感谢阅读。

zoj 1221 Risk Flory的更多相关文章

  1. 【ZOJ 1221】Risk

    题 题意 给你20个城市的相邻关系,求给定任意两个城市的最短距离 分析 求任意两个城市最短距离,就是用floyd算法,我脑残忘记了k是写在最外层的. 代码 #include<stdio.h> ...

  2. POJ题目细究

    acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP:  1011   NTA                 简单题  1013   Great Equipment     简单题  102 ...

  3. 【转】POJ百道水题列表

    以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...

  4. zoj 3356 Football Gambling II【枚举+精度问题】

    题目: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3356 http://acm.hust.edu.cn/vjudge/ ...

  5. ZOJ People Counting

    第十三届浙江省大学生程序设计竞赛 I 题, 一道模拟题. ZOJ  3944http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=394 ...

  6. BZOJ 1221: [HNOI2001] 软件开发

    1221: [HNOI2001] 软件开发 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1428  Solved: 791[Submit][Stat ...

  7. ZOJ 3686 A Simple Tree Problem

    A Simple Tree Problem Time Limit: 3 Seconds      Memory Limit: 65536 KB Given a rooted tree, each no ...

  8. ZOJ Problem Set - 1394 Polar Explorer

    这道题目还是简单的,但是自己WA了好几次,总结下: 1.对输入的总结,加上上次ZOJ Problem Set - 1334 Basically Speaking ac代码及总结这道题目的总结 题目要求 ...

  9. ZOJ Problem Set - 1392 The Hardest Problem Ever

    放了一个长长的暑假,可能是这辈子最后一个这么长的暑假了吧,呵呵...今天来实验室了,先找了zoj上面简单的题目练练手直接贴代码了,不解释,就是一道简单的密文转换问题: #include <std ...

随机推荐

  1. Batch file Functions

    Quote from: http://ss64.com/nt/syntax-functions.html Batch file Functions Packaging up code into a d ...

  2. IOS 学习笔记 2015-04-03 OC-API-文件读写

    // // WPFileHelper.m // OC-API-文件操作 // // Created by wangtouwang on 15/4/3. // Copyright (c) 2015年 w ...

  3. tp_shop解读1

    由于想弄一个商城,因此研究了一下tp_shop,这个据说能完成几乎所有的功能. 考虑到原有的例子过于复杂,因此把所有相关的数据都删除了,结果上来就出错了,查了两天,大致弄清楚了状况. 关于错误的原因 ...

  4. important的妙用

    !important: 为某些样式设置具有最高权值,高于id选择器 用法: !important要写在分号的前面 例如: <p class="first">!impor ...

  5. php单引号和双引号的区别与用法

    php里的单引号把内容当成纯文本,不会经过服务器翻译.而双引号则与此相反.里面的内容会经过服务器处理(process). 举个简单的例子:   $foo="data"; echo ...

  6. 用javascript操作xml

    用javascript操作xml 可以使用标准DOM操作. IE创建XML MSXML2.0DOMDocument function createXMLDOM(){ var version = [ ' ...

  7. 使用PHP在共享内存中存储数据集

    我们可以使用共享内存作为一种独特的存储选项,提供快速读/写操作和进程互操作性等优势. 对于 Web 应用程序,这意味着: 缓存存储(数据库查询.Web 服务数据.外部数据) 会话存储 应用程序之间的数 ...

  8. WPF窗体置于桌面最底层

    在WPF中设置窗体的Topmost属性可以将窗体永远置于顶部,但是没有提供Bottommost属性将窗体置底.若果要将窗体置于桌面的最底部,就需要使用Windows API来实现了.解决方案如下: 1 ...

  9. silverlight5开发的翻牌游戏

    扑克牌用了一个自定义控件,代码如下 public class CardButton : Button { public int state;//是否翻转0是未翻转,1是已翻转 private stat ...

  10. WebForm中TreeView的使用

    protected void Page_Load(object sender, EventArgs e)        {            DatabaseBind();            ...