算法竞赛入门经典
摸鱼的nuan
这个作者很懒,什么都没留下…
展开
-
UVA156 java
如果是同一个单词出现多次,也不符合要求!!!!import java.util.Arrays;import java.util.HashMap;import java.util.Map;import java.util.Scanner;import java.util.Set;import java.util.TreeSet;public class Main { public static void main(String[] args){ Scanner sc原创 2021-11-23 15:55:56 · 202 阅读 · 0 评论 -
UVA101 java
1.三个数组,大小n+1防止越界 posi[]:存放0~n-1号木块当前所在位置(在哪一堆) num[]:存放0~n-1号堆,当前所包含的木块的数量 ans[][]:二维数组每一行,代表一个堆2.观察可以发现 如果为move,将a上方的木块归位 如果为onto,将b上方的木块归位3.最重要的一点!!如果a和b在同一堆,就什么也不做!!import java.util.Arrays;import java.util.Scanner;public class Main { s原创 2021-11-22 17:20:21 · 322 阅读 · 0 评论 -
UVA10474 java
import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t=0;//次数 while(true) { int n=sc.nextInt(); int m=sc.nextInt(); if(n*n+m*m==0)break;原创 2021-11-10 11:29:34 · 405 阅读 · 0 评论 -
UVA 508 java
import java.util.Map;import java.util.Scanner;import java.util.TreeMap;public class Main { static String s; static String[] a=new String[100010];//单词字典 static Map<Character, String > q=new TreeMap<Character, String>(); static Map<Stri原创 2021-11-01 19:45:29 · 119 阅读 · 0 评论 -
UVA 253 java
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()) { String a=sc.next(); char[] s1=a.substring(0,6).toCharArray(); char[] s2=a.substri原创 2021-10-30 19:11:30 · 61 阅读 · 0 评论 -
UVA 201 java
题目有坑,我说怎么连用例都看不懂了原来,H 行 列 V 列 行还是需要细心呀,大家import java.util.Scanner;public class Main { static int[][] H;//竖 static int[][] V;//横 public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t=0;//游戏次数 while(s原创 2021-10-30 16:14:15 · 109 阅读 · 0 评论 -
UVA 1589 java
import java.util.*;class Main2 { static char[][] cb=new char[12][10];//放置所有棋子的棋盘 static char[][] ab=new char[12][10];//标记红方可到达的位置 public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n,i,j,a1,b1; int[][] Ch=new int[8原创 2021-10-28 11:42:07 · 86 阅读 · 0 评论 -
POJ 1852 java
下面展示一些 内联代码片。// A code blockvar foo = 'bar';import java.util.*;class Main2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t=sc.nextInt(); while(t-->0) { int rope=sc.nextInt();//绳长 int n=sc.nextInt(原创 2021-10-27 22:56:20 · 88 阅读 · 0 评论 -
UVA 10976 java
我这个没有像他们一样存进list,而是直接算了两遍,第一遍计算出count先输出了,第二遍再输出答案,因为这个是0~10000不是很大的数据量import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in);原创 2021-10-27 21:08:58 · 65 阅读 · 0 评论 -
UVA 512 java
import java.util.Arrays;import java.util.Scanner;public class Main { static int maxd=100; static int BIG=10000; static int r,c,n; static int[][] d=new int[maxd][maxd]; static int[][] d2=new int[maxd][maxd]; static int[][] ans=new int[maxd][maxd];原创 2021-10-24 17:01:49 · 64 阅读 · 0 评论 -
UVA 213 java
未解决runtime error即import java.util.HashMap;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()) { String s=sc.nextLine(); HashMap<St原创 2021-10-23 18:04:28 · 83 阅读 · 0 评论 -
UVA 133 java
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(true) { int n=sc.nextInt(); int k=sc.nextInt(); int m=sc.nextInt(); if((n*n+k*k+m*m)==0)原创 2021-10-23 15:29:34 · 49 阅读 · 0 评论 -
UVA 489 java
刚开始一直Runtime Error搞了半天是把Scanner sc = new Scanner(System.in);这一句放在while里面了import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(true) { int t=sc.nextInt();原创 2021-10-21 22:44:25 · 56 阅读 · 0 评论 -
UVA1339 java
下面展示一些 内联代码片。刚开始还以为只有书上那一种映射规则,还在想HAHA HEHE为什么是YES哈哈哈哈其实映射规则是不定的,所以只需要判断每个字母出现的次数然后进行排序,一样YES,不一样NOimport java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(Sys原创 2021-10-21 15:50:20 · 76 阅读 · 0 评论 -
UVA 10340 java
遍历b字符串的每一个字符,看在a字符串里是否有如果有,标记index=j+1,则继续看b字符串的下一个字符,在a字符串从index到最后是否有import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { Stri原创 2021-10-17 09:14:52 · 71 阅读 · 0 评论 -
UVA 1368 java
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T=sc.nextInt(); while (T-->0) { int m=sc.nextInt(); int n=sc.nextInt(); ...原创 2021-10-16 16:41:58 · 58 阅读 · 0 评论 -
POJ 3094 java
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true) { String a=sc.nextLine(); if(a.equals("#")) { break; }原创 2021-10-16 16:09:02 · 100 阅读 · 0 评论 -
POJ2255 java
先序遍历:根,左,右中序遍历:左,右,根后序遍历:左,右,根每次我们只需要传入树mid中的开始位置,和结束为止首先,先序遍历的第一个为根元素我们只需要遍历pre数组中的字符并找到此字符在mid数组中的对应位置,他就是此树对应的根元素在mid中他的左边就是他的左子树,右边就是右子树再分别对左 右子树按照刚才的方法递归直到开始位置>结束位置说明没有左子树或者右子树了,就输出此结点import java.util.Scanner;public class Main2 {原创 2021-10-16 15:58:38 · 139 阅读 · 0 评论 -
POJ3006 java
判断是否为素数,并计数import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(true) { int a=sc.nextInt(); int d=sc.nextInt(); int n=sc.nextInt(); if((a*a+d*d+n*n)==0) {原创 2021-10-14 15:18:09 · 84 阅读 · 0 评论 -
POJ1503 java
用大数存储就OKimport java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); BigInteger sum=BigInteger.ZERO; while(true) { BigInteger a=sc.nextBigInteger();原创 2021-10-14 14:51:26 · 101 阅读 · 0 评论 -
POJ2262 java
从3开始,找到i和t-i,判断这两个数都为奇素数则输出import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(true) { int t=sc.nextInt(); if(t==0)break;//t等于0退出 for (int i = 3; i <=t/2; i原创 2021-10-14 11:02:47 · 76 阅读 · 0 评论 -
POJ1083 java
初始化一个200的数组,每次读入a,b将他们数组中对应走廊位置+1,读入完成后,最大数*10则为最短时间import java.util.Arrays;import java.util.Scanner;public class Main { static int[] count=new int[200];//一个长度为200的数组 public static void main(String[] args) { Scanner sc=new Scanner(System.in); i原创 2021-10-13 20:16:40 · 50 阅读 · 0 评论 -
POJ 2739 java
import java.util.Scanner;public class Main { static int[] a=new int[1230]; static int[] b=new int[10001];//index_a public static void main(String[] args) { int index=0; for (int i = 2; i <=10000; i++) { if(isPrime_3(i)) { a[index++]=i;原创 2021-10-12 22:37:50 · 76 阅读 · 0 评论 -
POJ 2159 java
1.字符串长度是否相等2.两个数组中,不同字母出现的次数要一致import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String s1=sc.next(); String s2=sc.next(); char[] c1=s1.toCharArra原创 2021-10-12 21:47:58 · 89 阅读 · 0 评论 -
POJ 3299 java
import java.util.Scanner;public class Main { static double exp=2.718281828; public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(true) { //初始化三个变量 double temp=0; double dewpoint=0; double humidex=0; in原创 2021-10-12 21:08:28 · 94 阅读 · 0 评论 -
循环小数java uva202
题目给定一个分数(任何有理数都可以表示成循环小数),请按照格式输出该分数的结果。输出格式将循环节用括号包裹起来,如果循环节长度超过50位就只输出前50位,剩下的用"…"代替。第二行前面有三个空格。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()) {原创 2021-10-12 20:08:38 · 262 阅读 · 0 评论 -
数数字java
题目把前n(n≤10000)个整数顺次写在一起:123456789101112…数一数0~9各出现多少次 (输出10个整数,分别是0,1,…,9出现的次数)。解答import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int T=sc.nextInt();//测试的次数 while(T-->0)原创 2021-10-09 22:19:32 · 153 阅读 · 0 评论 -
分子量java
题目给出一种物质的分子式(不带括号),求分子量。本题中的分子式只包含4种原子,分别为C,H,O,N,原子量分别为12.01,1.008,16.00,14.01(单位:g/mol)。例如,C6H5OH的分子量为94.108g/mol。解答import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int T=s原创 2021-10-09 21:59:02 · 183 阅读 · 0 评论 -
得分java
题目给出一个由O和X组成的串(长度为1~80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0。例如:OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3解法import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int T=sc.nextInt();//测试的次数 wh原创 2021-10-09 21:01:00 · 86 阅读 · 0 评论 -
环状序列java
问题描述长度为n的环状串有n种表示法,分别为某个位置开始顺时针得到。CGAGTCAGCT,GAGTCAGCTC,AGTCAGCTCG等。在这些表示法中,字典序最小的称为“最小表示”。输入一个长度为n(n<=100)的环状DNA串(只包含A、C、G、T这4种字符)的一种表示法,你的任务是输出该环状串的最小表示。例如:CTCC的最小表示是CCCTCGAGTCAGCT的最小表示为AGCTCGAGTC。样例输入:2CGAGTCAGCTCTCC样例输出:AGCTCGAGTCCCCTimpo原创 2021-10-04 20:11:08 · 243 阅读 · 0 评论 -
生成元java
描述如果x加上x的各个数字之和得到y,就说x是y的生成元。给出n(1小于等于n小于等于100000),求最小生成元。无解输出0.例如,n=216,121,2005时的解分别为198,0,1979.分析1.计算n的位数2.从n-n的位数*9开始循环,到n解法一分析1.计算n的位数2.从n-n的位数*9开始循环,到nimport java.util.Scanner;public class Main { public static void main(String[] args) {原创 2021-09-30 15:51:15 · 264 阅读 · 0 评论 -
猜数字游戏的提示java
题目描述实现一个经典"猜数字"游戏。 给定答案序列和用户猜的序列,统计有多少数字位置正确(A),有多少数字在两个序列都出现过但位置不对(B)。输入输入包含多组数据。 每组输入第一行为序列长度n,第二行是答案序列,接下来是若干猜测序列。 猜测序列全0时该组数据结束。 n=0时输入结束。样例输入41 3 5 51 1 2 34 3 3 56 5 5 16 1 3 51 3 5 50 0 0 0101 2 2 2 4 5 6 6 6 91 2 3 4 5 6 7 8 9 11 1原创 2021-09-30 10:56:36 · 85 阅读 · 0 评论 -
回文词java
题目输入一个字符串,判断它是否为回文串以及镜像串。输入字符串保证不含数字0.所谓回文串,就是反转以后和原串相同,如abba和madam。所谓镜像串,就是左右镜像之后和原串相同,如2S和3AIAE。注意,并不是每个字符在镜像之后都能得到一个合法字符。在本题中,每个字符的镜像如图所示(空白符表示该字符镜像之后不能得到一个合法字符)。样例NOTAPALINDROME not a palindromeISAPALINILAPASI a regular palindrome2A3MEA原创 2021-09-29 21:44:34 · 139 阅读 · 0 评论 -
竖式问题java
问题描述:找出形如 abc*de (三位数乘以两位数) 的算式,使得在完整的竖式中,所有数字属于一个特定的数字集合。输入数字集合 (相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。样例输入:2357样例输出: 775X 33----- 23252325-----25575import java.util.Scanner;public class Main { public static void main(String[] a原创 2021-09-29 19:29:10 · 86 阅读 · 0 评论 -
蛇形填数Java
描述在nn方陈里填入1,2,…,nn,要求填成蛇形。例如n=4时方陈为:10 11 12 19 16 13 28 15 14 37 6 5 4输入直接输入方陈的维数,即n的值。(n<=100)输出输出结果是蛇形方陈。样例输入3样例输出7 8 16 9 25 4 3package practice;import java.util.Scanner;public class Main { public static void main(String[] args)原创 2021-09-26 22:48:14 · 471 阅读 · 0 评论 -
算法竞赛入门经典(第2版)习题答案(自己做的有错误的话请多多指教)
算法竞赛入门经典第一章 程序设计入门习题1-1 平均数习题1-7 年份下面展示一些 内联代码片。输入年份,判断是否为闰年。如果是,则输出yes,否则输出no。 提示:简单地判断除以4// An highlighted blockvar foo = 'bar';...原创 2020-09-22 17:15:47 · 1048 阅读 · 1 评论