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

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

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

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

  1. import java.util.*;
  2. public class Main {
  3. public static void main(String arg[]){
  4. Scanner scan = new Scanner(System.in);
  5. int[][] country = new int[20][20];
  6. int T= 1;
  7. while(scan.hasNext()){
  8. SetMap(country,scan);
  9. Floyd(country);
  10. int rtime=scan.nextInt();
  11. System.out.println("Test Set #"+T++);
  12. while(rtime-->0){
  13. int Fc=scan.nextInt();
  14. int Sc=scan.nextInt();
  15. System.out.println(Fc+" to "+Sc+": "+country[Fc-1][Sc-1]);
  16. }
  17. System.out.print("\n");
  18. }
  19. }
  20. public static void SetMap(int country[][],Scanner scan){
  21. for(int i=0;i<20;i++){
  22. for(int j=0;j<country[i].length;j++){
  23. /*country[i][j]=Integer.MAX_VALUE;*/
  24. country[i][j]=32767;
  25. }
  26. }
  27. for(int i=0;i<19;i++){
  28. int sob=scan.nextInt(); //borders counrty counts
  29. for(int j=sob;j>0;j--){
  30. int any=scan.nextInt();
  31. country[i][any-1]=1;
  32. country[any-1][i]=1;
  33. }
  34. }
  35. }
  36. public static void Floyd(int [][]d){
  37. int k,l,m,o;
  38. for(k=0;k<20;k++){
  39. for(l=0;l<20;l++){
  40. for(m=0;m<20;m++){
  41. if(l!=m){
  42. if(d[l][m]>(d[l][k]+d[k][m])){
  43. d[l][m]=d[l][k]+d[k][m];
  44. d[m][l]=d[l][m];
  45. }
  46. }else{
  47. d[l][m]=d[m][l]=0;
  48. }
  49. }
  50. }
  51. }
  52. }
  53. }

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

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. 04_XML_03_XMLDTD约束与校验

    [什么是XML约束] 在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,称之为XML约束. 常见的XML约束技术有:XML DTD和XML Schema DTD(Document Typ ...

  2. Libnids---编写网络应用程序的利器

    一.前言 Libnids是一个用于网络入侵检测开发的专业编程接口,它使用Libpcap进行数据包的捕获.同时,Libnids提供了TCP/IP数据流重组功能,因此省去了应用层自己考虑数据分片.重传等情 ...

  3. svn强制添加注释脚本

    @echo off setlocal set SVN_BINDIR=C:/Program Files/VisualSVN Server/bin/ set REPOS=%1 set TXN=%2 rem ...

  4. CI源码学习 一步一步重写 CodeIgniter 框架

    文章:http://www.cnblogs.com/zhenyu-whu/archive/2013/08.html

  5. thinkphp给图片打水印不清晰

    项目中打印条形码的函数,从thinkphp自带的water函数修改而来的. 贴上代码: /** * water2 * 改写thinkphp的water函数更强健的函数,增加了写入位置参数 去掉了alp ...

  6. SortedList的用法

    1.SortedList定义 System.Collections.SortedList类表示键/值对的集合,这些键值对按键排序并可按照键和索引访问.SortedList 在内部维护两个数组以存储列表 ...

  7. POJ 3258 River Hopscotch 二分枚举

    题目:http://poj.org/problem?id=3258 又A一道,睡觉去了.. #include <stdio.h> #include <algorithm> ]; ...

  8. PADS故障解决

    1. 点击PADS后就会出现以下: "The directory pointed by the FileDir INI file entry cannot be found.Aborting ...

  9. C++引用之引用的使用

    一旦一个引用被声明,则该引用名就只能作为目标变量名的一个别名来使用,所以,不能再把该引用名作为其他变量名的别名,任何对该引用的赋值就是对该引用对应的目标变量名的赋值. 对引用求地址就是对目标变量求地址 ...

  10. python 重载 __hash__ __eq__

    __author__ = 'root' from urlparse import urlparse class host_news(): def __init__(self, id, url): se ...