算法竞赛入门经典
T-dreaming
这个作者很懒,什么都没留下…
展开
-
猜数字游戏的提示
猜数字游戏的提示实现一个经典”猜数字”游戏。 给定答案序列和用户猜的序列,统计有多少数字位置正确(A),有多少数字在两个序列都出现过但位置不对(B)。输入包含多组数据。 每组输入第一行为序列长度n,第二行是答案序列,接下来是若干猜测序列。 猜测序列全0时该组数据结束。 n=0时输入结束。 样例输入: 4 1 3 5 5 1 1 2 3 4 3 3 5 6 5 5 1 6 1 3 ...原创 2018-08-04 15:43:55 · 1552 阅读 · 0 评论 -
老鼠走迷宫
老鼠走迷宫问题描述:用矩阵(二维数组)表示迷宫,其中1表示墙,0表示通路。老鼠在左上角,要走到迷宫右下角。方法一: (堆栈实现)#include<iostream>#include<cstdlib>#define EAST MAZE[x][y+1] /*定义东方的相对位置*/#define WEST MAZE[x][y-1] /*定义西方...原创 2018-10-17 21:19:05 · 572 阅读 · 0 评论 -
纵横字谜的答案
1.问题描述输入一个r行c列(1<=r,c<=10)的网格,黑格用”*”表示,每个白格都填有一个字母,如果一个白格的左边相邻的位置或者边上相邻的位置没有白格(可能是黑格,也可能除了网格边界), 则称这个白格是一个起始格。首先把所有起始格按照从上到下,从左到右的顺序编号为1,2,3……,如图。接下来要输出所由横向单词,这些单词必须从一个起始格开始,向右延伸到一个黑格的左边,或者整个网...原创 2018-08-13 19:11:51 · 2108 阅读 · 0 评论 -
谜题(UVa227)
谜题(UVa227)1.问题简述 有一个5*5的网格,其中恰好有一个格子是空的,其他格子各有一个字母。一共有4种指令:A, B, L, R,分别表示把空格上、下、左、右的相邻字母移到空格中。输入初始网格和指令序列(以数字0结束),输出指令执行完毕后的网格。如果有非法指令,应输出“This puzzle has no final configuration.”样例...原创 2018-08-05 20:13:14 · 397 阅读 · 0 评论 -
周期串(UVa455)
周期串(UVa455)1.问题描述 如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串以k为周期。例如,abcabcabcabc以3为最小周期(注意,它也以6和12为周期)。 输入t个字符串,每个字符串不超过80个字符,输出其最小周期。2.代码展示#include&lt;cstdio&gt;#include&lt;cstring&gt;#defin...原创 2018-08-04 21:12:28 · 669 阅读 · 0 评论 -
数数字(UVa1225)
数数字(UVa1225)1.问题描述 把前 n (n < = 10000)个整数顺次写在一起:123456789101112···数一数0~9各出现多少次(输出10个整数,分别是 0,1,2,3,4,5,6,7,8,9出现的次数)。2.代码展示#include<cstdio>#include<cstring>#define maxn ...原创 2018-08-04 20:34:56 · 314 阅读 · 0 评论 -
分子量(Uva1586)
分子量(Uva1586)1.问题描述 给出一个物质的分子式,求分子量,本题中的分子式只包括4种原子,分别为C,H,O,N 原子量分别为12.01,1.008,16.00,14.01例如,C6H5OH的分子量94.108g/mol.2.代码展示#include<cstdio>#include<cstring>#include<ctyp...原创 2018-08-04 20:20:12 · 320 阅读 · 0 评论 -
得分(Uva1585)
得分(Uva1585)1.问题描述 给你一个X和O组成的串,每个O有一个分,为他前面连续的O个数+1,求所有O的分数和。代码展示#include<cstdio>#include<cstring>#define maxn 85using namespace std;int main(){ char s[maxn]; scan...原创 2018-08-04 19:43:23 · 253 阅读 · 0 评论 -
环状序列
环状序列1.问题描述 长度为n的环状串有n种表示方法,分别为从某个位置开始顺时针得到,在这些排列中字典顺序最小的称“最小表示”。如CTCC的最小表示为CCCT,CGAGTCAGCT的最小表示为:AGCTCGAGTC。2.代码展示#include<stdio.h>#include<string.h>#define maxn 105//找到当前...原创 2018-08-04 17:20:26 · 982 阅读 · 0 评论 -
最小生成元
最小生成元1.问题描述 如果x加上x的各个位数字之和得到y,就说x是y的生成元;给出n,(1<=n<=100000),求最小生成元。无解输出0.例如,n=216,121,2005时的解分别为198,0,1979。2.代码#include<stdio.h>#include<string.h>#define maxn 10005int...原创 2018-08-04 16:21:54 · 777 阅读 · 1 评论 -
中序转为前序与后序
一.中序—>前序1.步骤:(1)从右到左读进中序表达式的每个字符(2)如果读进的字符为操作数,则直接输出到前序表达式中(3)如果遇到“(”,则弹出堆栈内的运算符,直到弹出一个“)”,两者相互抵消(4)“)”的优先级在堆栈内比任何运算符都小,不过在堆栈外却是优先级最高者(5)当运算符准备进入堆栈内时,必须和栈顶运算符比较,如果外面的运算符优先级高于或等于栈顶运算符,则压...原创 2018-10-22 20:40:17 · 2050 阅读 · 0 评论