![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模板题
acw_tako
思想是人类对宇宙的量度
展开
-
星空之夜
星空之夜夜空深处,闪亮的星星以星群的形式出现在人们眼中,形态万千。一个星群是指一组非空的在水平,垂直或对角线方向相邻的星星的集合。一个星群不能是一个更大星群的一部分。星群可能是相似的。如果两个星群的形状、包含星星的数目相同,那么无论它们的朝向如何,都认为它们是相似的。通常星群可能有 8 种朝向,如下图所示:现在,我们用一个二维 01 矩阵来表示夜空,如果一个位置上的数字是 1,那么说明这个位置上有一个星星,否则这个位置上的数字应该是 0。给定一个夜空二维矩阵,请你将其中的所有星群用小写字母原创 2021-01-28 15:10:55 · 178 阅读 · 0 评论 -
数独进阶版求解
数独请你将一个16x16的数独填写完整,使得每行、每列、每个4x4十六宫格内字母A~P均恰好出现一次。保证每个输入只有唯一解决方案。数独2.jpg输入格式输入包含多组测试用例。每组测试用例包括16行,每行一组字符串,共16个字符串。第i个字符串表示数独的第i行。字符串包含字符可能为字母A~P或”-“(表示等待填充)。测试用例之间用单个空行分隔,输入至文件结尾处终止。输出格式对于每个测试用例,均要求保持与输入相同的格式,将填充完成后的数独输出。每个测试用例输出结束后,输出一个空行。输原创 2021-01-27 21:25:13 · 1234 阅读 · 2 评论 -
dfs 应用
木棒乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过50个长度单位。然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。请你设计一个程序,帮助乔治计算木棒的可能最小长度。每一节木棍的长度都用大于零的整数表示。输入格式输入包含多组数据,每组数据包括两行。第一行是一个不超过64的整数,表示砍断之后共有多少节木棍。第二行是截断以后,所得到的各节木棍的长度。在最后一组数据之后,是一个零。输出格式为每组数据,分别输出原始木棒的可能最小长度,原创 2021-01-27 11:46:12 · 200 阅读 · 0 评论 -
表达式计算
表达式计算给出一个表达式,其中运算符仅包含+,-,*,/,^(加 减 乘 整除 乘方)要求求出表达式的最终值。数据可能会出现括号情况,还有可能出现多余括号情况。数据保证不会出现大于或等于231的答案。数据可能会出现负数情况。输入格式输入仅一行,即为表达式。输出格式输出仅一行,既为表达式算出的结果。输入样例:(2+2)^(1+1)输出样例:16#include <iostream>#include <algorithm>#include <cst原创 2021-01-26 21:44:11 · 456 阅读 · 0 评论 -
dfs 实践:数独
数独数独是一种传统益智游戏,你需要把一个9 × 9的数独补充完整,使得图中每行、每列、每个3 × 3的九宫格内数字1~9均恰好出现一次。请编写一个程序填写数独。输入格式输入包含多组测试用例。每个测试用例占一行,包含81个字符,代表数独的81个格内数据(顺序总体由上到下,同行由左到右)。每个字符都是一个数字(1-9)或一个”.”(表示尚未填充)。您可以假设输入中的每个谜题都只有一个解决方案。文件结尾处为包含单词“end”的单行,表示输入结束。输出格式每个测试用例,输出一行数据,代表填充完全原创 2021-01-26 21:27:44 · 221 阅读 · 1 评论 -
kmp应用
匹配统计阿轩在纸上写了两个字符串,分别记为A和B。利用在数据结构与算法课上学到的知识,他很容易地求出了“字符串A从任意位置开始的后缀子串”与“字符串B”匹配的长度。不过阿轩是一个勤学好问的同学,他向你提出了Q个问题:在每个问题中,他给定你一个整数x,请你告诉他有多少个位置,满足“字符串A从该位置开始的后缀子串”与B匹配的长度恰好为x。例如:A=aabcde,B=ab,则A有aabcde、abcde、bcde、cde、de、e这6个后缀子串,它们与B=ab的匹配长度分别是1、2、0、0、0、0。因原创 2021-01-25 15:23:30 · 195 阅读 · 0 评论 -
树的最小表示
树形地铁系统#include <iostream>#include <algorithm>#include <cstring>#include <vector>using namespace std;int n;// 数的最小表示法,用 01 序列表示子树,然后按照字典序排序string dfs(string &s, int &u) { // 跳过根节点 u ++; vector<string原创 2021-01-24 21:15:41 · 340 阅读 · 0 评论 -
二维字符串 hash
矩阵给定一个M行N列的01矩阵(只包含数字0或1的矩阵),再执行Q次询问,每次询问给出一个A行B列的01矩阵,求该矩阵是否在原矩阵中出现过。输入格式第一行四个整数M,N,A,B。接下来一个M行N列的01矩阵,数字之间没有空格。接下来一个整数Q。接下来Q个A行B列的01矩阵,数字之间没有空格。输出格式对于每个询问,输出1表示出现过,0表示没有出现过。数据范围A≤100,M,N,B≤1000,Q≤1000输入样例:3 3 2 211100011131100111100原创 2021-01-24 19:24:58 · 1819 阅读 · 6 评论 -
最大矩形问题
城市游戏有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。这片土地被分成N*M个格子,每个格子里写着’R’或者’F’,R代表这块土地被赐予了rainbow,F代表这块土地被赐予了freda。现在freda要在这里卖萌。。。它要找一块矩形土地,要求这片土地都标着’F’并且面积最大。但是rainbow和freda的OI水平都弱爆了,找不出这块土地,而蓝兔也想看freda卖萌(她显然是不会编程的……),所以它们决定,如果你找到的土地面原创 2021-01-24 16:01:47 · 141 阅读 · 0 评论