![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题目
头秃程序员_
从一而终
展开
-
快速幂的位运算
计算a的b次方int f(int x, int y, int z){ int ans = 1; x = x%z; while (y != 0) { if (y & 1) ans = (ans*x) % z; y >>= 1; x = (x*x) % z; }...原创 2018-08-01 22:12:41 · 419 阅读 · 0 评论 -
刘汝佳算法竞赛入门经典习题3-10
输入六个面,12个数字,判断其能不能构成一个长方体: 问题思路: 首先调整一下每个面的长和宽,然后在按照长边,短边排序一下,然后判断其是否有三对面,两两相同的面。#include <iostream>#include< cstring> using namespace std; struct face{ int x, y; }a[6];...原创 2018-06-06 21:10:54 · 204 阅读 · 0 评论 -
栈
关于素数打表和最短路径(宽度优先搜索) DescriptionThe ministers of the cabinet were quite upset by the message from the Chief of Security stating that they would all have to change the four-digit room numbers on thei...原创 2018-05-31 20:53:21 · 172 阅读 · 0 评论 -
ACM
ACM原创 2018-05-29 14:19:31 · 573 阅读 · 0 评论 -
奶牛翻盖问题 二进制压缩枚举
原题: Farmer John knows that an intellectually satisfied cow is a happy cow who will give more milk. He has arranged a brainy activity for cows in which they manipulate an M × N grid (1 ≤ M ≤ 15; 1 ≤ N...原创 2018-05-28 19:53:25 · 338 阅读 · 0 评论 -
地牢问题 地牢 Dungeon宽度优先
问题: You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of unit cubes which may or may not be filled with rock. It takes one minute to move one unit north, ...原创 2018-05-22 20:27:07 · 318 阅读 · 0 评论 -
迷宫问题(广度优先搜索)
定义一个二维数组: int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。 Input 一个5 × 5的二维数...原创 2018-05-20 20:43:40 · 1675 阅读 · 0 评论 -
棋盘问题(简单搜索)
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。input 输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n &lt;= 8 , k &lt;= ...原创 2018-05-19 18:43:32 · 1569 阅读 · 0 评论 -
F - Team Queue
Queues and Priority Queues are data structures which are known to most computer scientists. The Team Queue, however, is not so well known, though it occurs often in everyday life. At lunch time the qu...原创 2018-08-15 20:49:19 · 225 阅读 · 0 评论 -
map
Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input 输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串. ...原创 2018-08-16 20:06:37 · 190 阅读 · 0 评论 -
二分查找
Write a program which reads an integer n and prints the number of prime numbers which are less than or equal to n. A prime number is a natural number which has exactly two distinct natural number divi...原创 2018-08-16 20:11:00 · 741 阅读 · 0 评论 -
计算系数
给定一个多项式(ax + by)k,请求出多项式展开后xnym项的系数。Input 共一行,包含 5 个整数,分别为 a,b,k,n,m,每两个整数之间用一个空格隔开。 Output 输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对 10007 取模后的结果。 Sample Input 1 1 3 1 2 Sample Output 3 Hint 对...原创 2018-08-16 20:19:38 · 1397 阅读 · 0 评论 -
fzu 2020 Lucas 定理,组合数求模模板
Problem 2020 组合 Accept: 491 Submit: 1212 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description 给出组合数C(n,m), 表示从n个元素中选出m个元素的方案数。例如C(5,2) = 10, C(4,2) = 6.可是当n,m比较大的时候,C(n,m)很大!于是...转载 2018-08-16 20:21:27 · 162 阅读 · 0 评论 -
A/B
Problem Description 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。Input 数据的第一行是一个T,表示有T组数据。 每组数据有两个数n(0 <= n < 9973)和B(1 <= B <= 10^9)。Output 对应每组数据输出(A/B...原创 2018-08-16 20:39:36 · 155 阅读 · 0 评论 -
青蛙约会
Description两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。...原创 2018-08-16 20:45:17 · 1156 阅读 · 1 评论 -
Romantic
对于a’ = b, b’ = a % b 而言,我们求得 x, y使得 a’x + b’y = Gcd(a’, b’) 由于b’ = a % b = a - a / b * b (注:这里的/是程序设计语言中的除法,即整数除法,结果舍去小数部分) 那么可以得到: a’x + b’y = Gcd(a’, b’) ===> bx + (a - a / b * b)y = Gcd(a’, ...原创 2018-08-16 20:53:11 · 386 阅读 · 0 评论 -
POJ1731解题报告 不重复全排列
DescriptionThe stores manager has sorted all kinds of goods in an alphabetical order of their labels. All the kinds having labels starting with the same letter are stored in the same warehouse (i.e....原创 2018-08-16 21:30:02 · 734 阅读 · 0 评论 -
哈希表表的详解《转》
https://blog.csdn.net/xiaotan2011929/article/details/61647556 感觉这个老哥哥的博客写的还不错,转一下,csdn好像还没有博客转发的功能,唉 就写了个网址转载 2018-08-29 21:23:47 · 299 阅读 · 0 评论 -
64位数乘法
64位整数乘法输入2 3 9 输出6模板:#include <iostream>using namespace std;long long int fun(long long int a,long long int b,long long int p){ //大数a*bmolp long long int ans = 0; int ...原创 2018-11-30 15:22:41 · 909 阅读 · 0 评论 -
二进制转换
八进制数,十六进制数与二进制数的对应关系较为明显直观,3 位二进制数恰好为一位八进制数, 4 位二进制数恰好为一位十六进制数,因此在手工转换的时候就可以用这个方法。 例如: 将 10101100011.101110001 转换为八进制和十六进制。 1>从小数点分割,三位一组,最后不够补0,原创 2018-01-26 14:47:57 · 241 阅读 · 0 评论 -
求s=a+aa+aaa+aaaa+aa...a的值
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个一位的整数。 例如2+22+222+2222+22222(此时共有5个数相加) 输入 多组数据输入。 整数a和n(n个数相加,1输出 s的值 样例输入 2 2 样例输出 24 提示 注意数据范围,注意测试边界样例#includeint main(){ int a,n,i; dou原创 2018-01-11 17:31:41 · 1553 阅读 · 0 评论 -
E - Windows Message Queue
Message queue is the basic fundamental of windows system. For each process, the system maintains a message queue. If something happens to this process, such as mouse click, text change, the system wil...原创 2018-08-15 19:50:52 · 126 阅读 · 0 评论 -
越狱
Description 监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱Input 输入两个整数M,N.1<=M<=10^8,1<=N<=10^12Output 可能越狱的状态数,模100003取余Sample Input 2 3 Sa...原创 2018-08-01 23:14:47 · 478 阅读 · 0 评论 -
Find The Multiple
Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there...原创 2018-05-29 20:49:26 · 380 阅读 · 0 评论 -
装错信封问题
有甲给众多网友 写信,然后全部装错信封,若甲有N个朋友,那么请问有多少种方式全部装错: 输入:n 输出:错误种数#include #include int fun(int n) //设计一个计算的函数{ if(n==1)return 0; //1封信则没有办法装错 if(n==2)return 1; //原创 2018-02-01 14:15:31 · 1698 阅读 · 0 评论 -
三进制小数转换<C语言>
三进制小数: 将一个有理数转换成三进制小数。 输入: 有理数的值都是在0与1之间的,每个有理数都由一个分子和一个分母表示,分子与分母之间隔着一个斜杠。有理数的个数不会超过1000个。 输出: 输出格式见样本输出,它是以小数点开头的具有10位精度的3进制数。 样例输入: 1/3 1/4 1/6 7/8 样例输出 .1000000000 .020202020原创 2018-01-29 20:47:15 · 3019 阅读 · 1 评论 -
谁家孩子跑的最慢
谁家孩子跑最慢 题目描述 张王李三家各有三个小孩。一天,三家的九个孩子在一起比赛短跑,规定不分年龄大小,跑第一得9分,跑第2得8分,依此类推。比赛结果各家的总分相同,且这些孩子没有同时到达终点的,也没有一家的两个或三个孩子获得相连的名次。已知获第一名的是李家的孩子,获得第二的是王家的孩子。问获得最后一名的是谁家的孩子? 输入 输出 输出最后一名的那家的姓的一个字母且以大写输出(若为张家原创 2018-01-13 21:12:59 · 851 阅读 · 0 评论 -
百钱百鸡问题
题目描述 中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何? 输入输出 给出所有的解,每组解占一行 解的顺序:按“字典序”排列,即公鸡数少的在前;公鸡数相同,母鸡数少的在前 格式: cock=%d,hen=%d,chicken=%d\n #include int m原创 2018-01-12 23:03:01 · 598 阅读 · 0 评论 -
求1+2!+3!+...+N!的和
题目描述 求1+2!+3!+…+N!的和 输入 正整数N(N〈=20) 多组样例输入 输出 1+2!+3!+…+N!的和 (结果为整数形式) 每行一个整数 样例输入 3 4 样例输出 9 33 提示 注意数据范围!#include #include int main(){ int n; int i; long long int原创 2018-01-11 17:24:20 · 11382 阅读 · 0 评论 -
斐波纳契数列<经典递推问题>
斐波纳契数列 题目描述 斐波纳契数列 1,1,2,3,5,8,13,21,34,55,89……这个数列则称为“斐波纳契数列”,其中每个数字都是“斐波纳契数”。 输入 一个整数N(N不能大于40) 输出 由N个“斐波纳契数”组成的“斐波纳契数列”。提交时请严格注意格式, 两个斐波那契数之间用空格隔开, 最后一个答案后加回车 样例输入 6 样例输出 1 1 2 3 5 8原创 2018-01-11 17:17:17 · 1128 阅读 · 2 评论 -
尼科彻斯定理
题目描述 验证尼科彻斯定理,即:任何一个正整数的立方都可以写成一串连续奇数的和。 输入 任一正整数 n输出 该数的立方分解为一串连续奇数的和 样例输入 13 样例输出 13*13*13=219=157+159+161+163+165+167+169+171+173+175+177+179+181#includeint main(){ int a;原创 2018-01-11 17:09:03 · 826 阅读 · 0 评论 -
字符串正反连接C语言
问题 : 【C语言训练】字符串正反连接 题目描述 所给字符串正序和反序连接,形成新串并输出 输入 多组样例输入。 任意字符串(长度输出 字符串正序和反序连接所成的新字符串 样例输入 123abc 样例输出 123abccba321#include #include #includeint main(){ char a[50],b[50];原创 2018-01-11 17:00:42 · 10899 阅读 · 3 评论 -
阶乘和数<C语言>
阶乘和数: 一个正整数如果等于组成它的各位数字的阶乘之和,该整数称为阶乘和数。 例如,145=1!+4!+5!,则145是一个三位阶详细和数。 请问:共有多少个阶乘和数? 数据范围 1输出: 所有的阶乘和数(按字典序,即1打头的在前,2打头的次之,…, 空格分隔) (多加for循环,然后实现数字的从1打头的数字直至9打头的数字顺序打印)问题思路:#includel原创 2018-01-25 16:27:31 · 4162 阅读 · 0 评论 -
阿姆斯特朗数
阿姆斯特朗数: 如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。 如 407=4^3+0^3+7^3就是一个阿姆斯特朗数。试编程求大于1小于1000的所有阿姆斯特朗数。 (这个问题可以采用穷举法,从1开始循环,然后把每个数字的各个位数分解求阶乘之和,从而得到结果)尽量缩减代码,使之紧凑,减少时间和空间复杂度。#include原创 2018-01-25 17:02:33 · 7009 阅读 · 0 评论 -
字符型转化为数字型
本篇介绍由字符型转化为整型:1>利用函数转化: 加头文件stdlib.h然后利用函数atoi()进行转化 例子:#include#includeint main(){ char s[20]; int sum; scanf("%s",s); sum=atoi(s);原创 2018-02-01 11:14:35 · 2098 阅读 · 0 评论 -
挑战程序设计三角形
有n个棍子,棍子i的长度为ai.想要从中选出3个棍子组成周长尽可能长的三角形。请输出最大的周长,若无法组成三角形则输出0.方法1:这道题最先想到的可能就是枚举,O(n^3)int n, a[MAX_N]; int func(){ int res = 0; for(int i = 0; i < n; i++) for(int j ...原创 2018-05-16 14:25:16 · 247 阅读 · 0 评论 -
跳一跳C语言游戏辅助开发,我的辅助成长
一、开发环境开发环境使用语言:C/C++IDE:VS2010+ 其他三方库 EasyX(http://www.easyx.cn/downloads/) ADB(链接: https://pan.baidu.com/s/1nxrBXTB 密码: sfti) ADB环境变量配置 打开adb文件夹,将此路径添加到环境变量中; 手机使用数据线连接电脑,并打开USB调试; 打开cmd...原创 2018-04-28 17:38:51 · 1772 阅读 · 0 评论 -
杨辉三角与倒置杨辉三角
杨辉三角问题: 杨辉三角是按照一定规律排列而成的数字。在这里我们可以用程序来进行输出,比较容易。 首先用C语言说明问题代码,在本文章最后有C++的代码供参考。杨辉三角的形式为: * ** * 实际上我们可以对他进行简化: * **然后加上输出几个空格,这样子就变成了三角行了。。所谓的杨辉三角每一行的数字都有来源,是它的肩膀上...原创 2018-03-29 17:27:31 · 3346 阅读 · 0 评论 -
买书问题
有一些同学要去书店买书: 输入有 2 行,第 1 行为一个正整数,表示有 n 个同学参与调查(n≤100)。第 2 行有 n 个用空格隔开的正整数,为每本图书的 ISBN 号(假设图书的 ISBN 号在 1~1000 之间)。 输出也是 2 行,第 1 行为一个正整数 k,表示需要买多少本书。第 2 行为 k 个用空格隔开的正整数,为从小到大已排好序的需要购买的图书的 ISBN 号。 举...原创 2018-03-23 22:42:25 · 664 阅读 · 0 评论 -
hanoi(汉诺塔)问题
汉诺塔问题是经典的递推问题,问题的简单描述为: 三根柱子ABC,A上有64个盘子,大的在最下边,晓得在最上边,要把这64个盘子从A上转移到C上并且过程中一直保持晓得在大的上边。 分析过程: 1>假如只有一个盘子,可以直接从A移动到C上,即A-C。 2>假如有两个盘子,则先把A上的小盘子移动到B柱接着把A上的大盘子移动到C柱,最后把B上的小盘子移动到C柱。 A->B A...原创 2018-03-06 23:56:48 · 1168 阅读 · 0 评论