
竞赛
m0_51952128
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
全排列 .acm 1377
e.g. 1,2,3的全排列 k表示层数<角标>(从0到2,共三层) K=0 1 2&1 Swap 1和1 1&1 K=1 2 Swap 2和2 2&2->for 3&2->out 2&3->swap K=2 3 Swap 3&3 Out: 1,2,3->swap 1,3,2->swap 图例:递归一次先去确定第一位,然后深入挖掘到最后一层,输出一原创 2021-04-22 19:17:12 · 246 阅读 · 0 评论 -
求n的二进制
#include <iostream> using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main() { int n; while(cin>>n) { int a[10000]={0}; int i,j,end; for(i=1,end=0;i<=n;i++)原创 2021-05-11 17:41:33 · 233 阅读 · 0 评论 -
欧拉回路——无向图(1396)
题目一: Description 给你一堆点,点与点之间有无向边,问是否存在欧拉回路,假设所有点都在一个连通块 Input 有多组案例,每组第一行有两个数n,m,n <= 15表示点数,m <= n*(n-1)/2表示边数 接下来有m行,每行有两个数字 1 <= a,b <= n (a != b)表示边的两个端点序号 Output 若存在欧拉回路,输出”Yes” 否则输出”No” Sample Input 3 3 1 2 2 3 3 1 4 4 1 2 2 3 1 3 1 4 ...原创 2021-04-29 18:09:21 · 828 阅读 · 1 评论 -
五级记分1377(包含sort降序排序)
五级记分 Time Limit:1000MS Memory Limit:32768K Description: 将百分制的成绩以五级记分归类打印.五级记分的定义为: A:90~100 B:80~89 C:70~79 D:60~69 E:<60 Input: 若干组数据,每组数据以一个整数n开头,表示后面有n个百分制成绩(不大于100的整数),如果n为0,表示处理结束. Output: 按五级记分方式从大到小归类打印每个成绩,打印同类成绩时,先打印类名,冒号,每个成绩都以空格开始,若一类中没有成绩,原创 2021-04-01 16:01:36 · 319 阅读 · 0 评论 -
千年老二 1376 set容器简单使用
千年老二 Time Limit:1000MS Memory Limit:32768K Description: 苏明明每次考试的成绩都是排名第二,对于他来说,很窝火也很无奈。姑且不管他的感受,现在的任务是,在每次给出的一叠成绩中,请指出苏明明的考试成绩。 Input: 若干行数据,每一行代表一次考试成绩,成绩为百分制,考试少则几个人,多则也就百来号人。 Output: 对应每一次考试,输出苏明明的成绩。 Sample Input: 67 88 98 97 100 23 66 77 100 100 97 9原创 2021-04-01 15:37:54 · 494 阅读 · 1 评论 -
九宫格1374
九宫格 Time Limit:1000MS Memory Limit:32768K Description: 在《射雕英雄传》中黄蓉曾破解九宫格,口诀:戴九履一,左七右三,二四为肩,六八为足. 九宫格最早叫洛书,现在又叫三阶幻方.所谓九宫格就是有9个格子,1-9九个数分别填入其中,满足每行,每列,两个对角线三个数之和都相等。 现在你的任务就是判断给定的一个33的矩阵是不是满足组成九宫格的条件. Input: 第一行为组数T ( 1<=T<=10000 ) , 后面输入T组测试数据.每组为一个3原创 2021-03-31 20:22:27 · 515 阅读 · 0 评论 -
1329根据公式求Π值
圆周率 Time Limit:1000MS Memory Limit:32768K Description: 祖冲之用了毕生精力算圆周率,也只算到小数点后第6位。现在有了电脑的帮忙,相信 我们就可以立刻就算出结果了吧,呵呵。 计算圆周率的方法很多,我们用其中的一个公式: π/4=1-1/3+1/5-1/7+…+(-1)^(n+1)/(2*n+1) n=0,1,2,… 当n的取值越来越大时,π的精确度也就越高。 现在给定n,计算相应的π值。 Input: 输入数据中包含一些整数(0<n<400原创 2021-03-31 19:36:54 · 547 阅读 · 0 评论 -
01串排序
Description: 将01串首先按长度排序,长度相同时,按1的个数多少进行排序,1的个数相同时再按ASCII码值排序。 Input: 输入数据中含有一些01串,01串的长度不大于256个字符。 Output: 重新排列01串的顺序。使得串按基本描述的方式排序。 Sample Input: 10011111 00001101 1010101 1 0 1100 Sample Output: 0 1 1100 1010101 00001101 10011111 只是用for循环,问题在str[n].size原创 2021-03-25 15:49:20 · 2267 阅读 · 0 评论 -
《贪心算法》修栅栏
贪心算法 《贪心算法》Sarumans army(3069) 《贪心算法》字典序尽可能小的字符串 Best Cow Line POJ(3617)原创 2021-03-03 18:21:53 · 185 阅读 · 1 评论 -
《贪心算法》Sarumans army(3069)
从第一个没标记的点开始找r范围内最远的点并标记 #include<iostream> using namespace std; #define maxn 100 int main() { int n,r,x[maxn+1],ans=0; cin >> n >> r; for (int i = 0; i < n; i++) cin >> x[i]; int i = 0; while (i < n) { //s标记起始点 in.原创 2021-03-03 15:04:33 · 127 阅读 · 1 评论 -
《贪心算法》字典序尽可能小的字符串 Best Cow Line POJ(3617)
贪心算法 Q:给定长度为N字符串,反复进行下列任意操作 从S字符串头部删除一个字符添加到T的尾部 从S字符串尾部删除一个字符添加到T的尾部 A: 比较头和尾的字符,注意利用begin和end+i,通过改变i来实现 #include<iostream> using namespace std; #define max 2000 int main() { char s[max + 1]; int n; cin >> n; cin >> s; i...原创 2021-03-03 14:18:55 · 124 阅读 · 0 评论 -
特殊状态的枚举
穷竭搜索 DFS深度优先搜索 BFS宽度优先搜索 next permutation函数原创 2021-02-22 21:46:33 · 154 阅读 · 0 评论 -
迷宫的最短路径
注: 1 使用了数据类型pair(将两个数据整合成一个) (1 用pair表示状态的时候,使用typedef eg. typedef pair<int,int> p; (2 读取数据: eg. p a; 前一个:a.first后一个:a.second #include<iostream> #include<queue> //用无穷大表示数据读取情况 #define INF 100000000 //pair表示状态时,用typedef更加方便 typedef pair&l.原创 2021-02-19 23:34:55 · 111 阅读 · 0 评论 -
BFS宽度优先搜索
特点:从距离初始状态近的开始,且同一个状态只搜索一次 复杂度:O(状态数*转移的方式) 利用:队列 例题原创 2021-02-19 16:21:56 · 90 阅读 · 0 评论 -
Lake Counting POJ NO.2386 数水洼
注意 这里的N是列数,M是行数 #include<iostream> #define MAX 100 using namespace std; char a[MAX][MAX]; int n, m; int main() { //将所有的W和周围的八连通都替换成.,一共调用几次函数就是有几滩水渍 void dfs(int i, int j); int ans = 0; cout << "input n(line)&m(row):" << endl; /.原创 2021-02-19 16:11:43 · 148 阅读 · 0 评论 -
DFS深度优先搜索
例题 从某一状态开始持续向后推移直到状态不满足问题,返回上一步选择另一个状态继续向后推移如此类推 例: 输入n个数,判断这些数是否能够组成一个和等于k 分析,从数组第一个数开始每个数都有两种选择,加到sum中或者是不加,因而复杂度O(2^n) #include<iostream> using namespace std; int n, k, * a; int main() { //input cout << "input number" << e...原创 2021-02-18 23:19:25 · 125 阅读 · 0 评论 -
栈和队列
这里写目录标题1 栈2 队列 1 栈 先进先出 #include<stack> #include<iostream> using namespace std; int main() { stack<int>a;//声明:整数类型的栈a a.push(1);//向栈a中输入整数1 a.push(2); a.push(3); cout << a.top() << endl;//读取顶部的数据 a.pop();//移除顶部的数据 cout原创 2021-02-18 19:47:44 · 83 阅读 · 0 评论 -
抽签问题
这里写目录标题1 最内层查找:二分查找 O(logn)2 1 最内层查找:二分查找 O(logn) bool binary_search(iterator beg, iterator end, value) 2原创 2021-02-13 22:37:16 · 81 阅读 · 0 评论 -
Ants POJ NO.1852
方法一:穷竭搜索 蚂蚁的朝向有两种情况,n只蚂蚁一共2^n种情况 呈指数递增,不适用 方案二:分情况 最短时间:蚂蚁背朝背向距离最近的一端走>>找到距离棍子端点最远的 最长时间:蚂蚁相遇后折返 在讨论所有蚂蚁的时间时,将所有蚂蚁看成一个整体,相当于蚂蚁相遇后交错而行>>找离端点最远的蚂蚁 #include<iostream> using namespace std; int l; int main() { int n, * p; cout << "输入.原创 2021-02-13 10:56:03 · 135 阅读 · 0 评论