zoj 1221 Risk Flory
博客开了快半年了- -学习编程也快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的更多相关文章
- 【ZOJ 1221】Risk
题 题意 给你20个城市的相邻关系,求给定任意两个城市的最短距离 分析 求任意两个城市最短距离,就是用floyd算法,我脑残忘记了k是写在最外层的. 代码 #include<stdio.h> ...
- POJ题目细究
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- 【转】POJ百道水题列表
以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...
- zoj 3356 Football Gambling II【枚举+精度问题】
题目: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3356 http://acm.hust.edu.cn/vjudge/ ...
- ZOJ People Counting
第十三届浙江省大学生程序设计竞赛 I 题, 一道模拟题. ZOJ 3944http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=394 ...
- BZOJ 1221: [HNOI2001] 软件开发
1221: [HNOI2001] 软件开发 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1428 Solved: 791[Submit][Stat ...
- ZOJ 3686 A Simple Tree Problem
A Simple Tree Problem Time Limit: 3 Seconds Memory Limit: 65536 KB Given a rooted tree, each no ...
- ZOJ Problem Set - 1394 Polar Explorer
这道题目还是简单的,但是自己WA了好几次,总结下: 1.对输入的总结,加上上次ZOJ Problem Set - 1334 Basically Speaking ac代码及总结这道题目的总结 题目要求 ...
- ZOJ Problem Set - 1392 The Hardest Problem Ever
放了一个长长的暑假,可能是这辈子最后一个这么长的暑假了吧,呵呵...今天来实验室了,先找了zoj上面简单的题目练练手直接贴代码了,不解释,就是一道简单的密文转换问题: #include <std ...
随机推荐
- boa服务器问题日志
1. 某一次在登录boa服务器的时候,不知哪里的问题,无法登录「192.168.1.0-192.168.3.255」网段的设备,但是公司IP网段的机器都可以用.最终发现,问题出现在自己的PC添加了浏览 ...
- python 自动化之路 day 08 面向对象进阶
面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 面向对象高级语法部分 经典类vs新式类 把下面代码用python2 和python3都执行一下 1 2 ...
- if参数小结
条件表达式 if [ -f file ] 如果文件存在 if [ -d ... ] 如果目录存在 if [ -s file ] 如果文件存在且非空 if [ -r file ...
- 每天一条linux命令——halt
halt命令用来关闭正在运行的Linux操作系统.halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统. 语法: halt(选项) ...
- github 查看单个文件的历史记录命令
gitk 安装: apt-get install gitk 点击打开链接http://stackoverflow.com/questions/278192/view-the-change-histor ...
- 一个供新手把玩的jQueryUI在线文档
最近整理了一份jQueryUI文档,方便以后学习和运用. 把玩地址
- Java源代码分析与生成
源代码分析:可使用ANTLRANTLR是开源的语法分析器,可以用来构造自己的语言,或者对现有的语言进行语法分析. JavaParser 对Java代码进行分析 CodeModel 用于生成Java代码 ...
- html5音频和视频相关属性和方法
方法 方法 描述 addTextTrack() 为音视频加入一个新的文本轨迹 canPlayType() 检查指定的音视频格式是否得到支持 load() 重新加载音视频标签 play() 播放音视频 ...
- 【WPF】逻辑树和视觉树
WPF中提供了遍历逻辑树和视觉树的辅助类:System.Windows.LogicalTreeHelper和 System.Windows.Media.VisualTreeHelper. 注意遍历的位 ...
- POJ 2002 Squares 哈希
题目链接: http://poj.org/problem?id=2002 #include <stdio.h> #include <string.h> ; struct Has ...