博客开了快半年了- -学习编程也快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 countsfor(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;}}}}}
}

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

转载于:https://www.cnblogs.com/kfoworld/p/4097936.html

zoj 1221 Risk Flory相关推荐

  1. POJ ZOJ题目分类

    POJ,ZOJ题目分类(多篇整合版,分类很细致,全面) 标签: 题目分类POJ整理 2015-04-18 14:44 1672人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: ACM资料(5) ...

  2. POJ,ZOJ题目分类(多篇整合版,分类很细致,全面)

    水题: 3299,2159,2739,1083,2262,1503,3006,2255,3094 初级: 一.基本算法:        (1)枚举 (1753,2965)       (2)贪心(13 ...

  3. ZOJ 题目分类,学校的一个巨巨做的。

     DP: 1011      NTA                    简单题 1013      Great Equipment        简单题 1024      Calendar ...

  4. oracle的dual是啥表,Oracle的dual表是个什么东东

    dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录.我们可以用它来做很多事情,如下: 1.查看当前用户,可以在 SQL Plus中执行下面语句 sele ...

  5. c语言大小写字母互换1005,1005 Jugs,1005jugs

    1005 Jugs,1005jugs 辗转相减,新手入门题.两个容量的灌水题,无所谓最优解. 1 #include 2 3 intmain(){4 intA,B,T,sA,sB;5 while(sca ...

  6. poj题目详细分类及算法推荐题目

    DP:  1011   NTA                 简单题  1013   Great Equipment     简单题  1024   Calendar Game       简单题  ...

  7. ACM POJ 题目分类(完整整理版本)

    DP: 1011   NTA                 简单题  1013   Great Equipment     简单题  1024   Calendar Game       简单题   ...

  8. PUK ACM题目分类

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

  9. pku,zju题目分类

    哎呦喂,直接ctrl+A了.话说浙江大学的题还见过的呢.. 公告: [意见反馈][官方博客]   ural pku Zju 题目分类 收藏   感谢 mugu 的提供.... Ural Problem ...

最新文章

  1. Debug模式下加载文件,运行程序异常的慢
  2. 必看,10篇定义计算机视觉未来的论文
  3. Python 基础常用数据结构
  4. 操作 Wave 文件(4): 获取 Wave 文件主块与子块的信息
  5. Laravel API记录
  6. pytroch 中Variable实现线性回归
  7. C#利用Socket实现客户端之间直接通信
  8. Java12题:发奖金问题
  9. mysql连接服务密码_Hydra爆破常见服务密码
  10. 4月1日,正式对全球科学界开放!
  11. Bugfree安装与使用
  12. php 遍历某一目录并对该目录中的所有文件重命名
  13. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十九) 落雷!治疗!陷阱!连锁闪电!多段群伤!魔法之终极五重奏②...
  14. 【ctags/cscope/project安装使用】给神编辑器vim添加新的翅膀
  15. python模块的分类有哪些_整理了一份清单,常见Python问题的快速解答包
  16. 小新pro13 archlinux 显卡 声卡 驱动安装
  17. 18位身份证号码校验
  18. 有关选择的作文素材分享
  19. 【渝粤教育】国家开放大学2019年春季 97纳税筹划 参考试题
  20. 手把手,​教你如何逐步提高JavaScript的编码能力?

热门文章

  1. 软件测试前景怎么样?需要写代码吗?加班严重吗?
  2. ORA-00450: 后台进程 \'EMN0\' 未启动
  3. html横线标记_HTML标记大全参考手册
  4. 滚动的ViewFlipper——滚动的大标题
  5. 三星s9android10,三星S10和三星S9相比哪款值得购买?三星S10和三星S9区别对比
  6. STM32学习心得(第一天)
  7. svg画半圆详解(L指令、M指令、A指令)
  8. 搜狗前三季度亏损5.4亿元:广告收入下滑,预计将在Q4退市
  9. OpenCV之Mat的详细介绍
  10. 我也想有那么一个人(转载,写的挺好的)