题
算法、PTA题
The_Only_God
yang
展开
-
L1-059 敲笨钟——测试点4
L1-059 敲笨钟博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古诗词。其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”。例如唐代诗人李贺有名句曰:“寻章摘句老雕虫,晓月当帘挂玉弓”,其中“虫”(chong)和“弓”(gong)都压了“ong”韵。于是这句诗就被糟改为“寻章摘句老雕虫,晓月当帘敲笨钟”。现在给你一大堆古诗词句,要求你写个程序自动将压“ong”韵的句子糟改成“敲笨钟”。输入格式:输入首先在第一行原创 2020-11-07 21:28:57 · 641 阅读 · 0 评论 -
C++中double向int转换时一个很迷的bug(求大佬解决)
double x;x*=1000;int y=x;当x为1.001、1.003、1.005、1.007、1.009时y会比x小1原创 2020-09-06 16:05:53 · 393 阅读 · 0 评论 -
kuangbin带你飞——专题一简单搜索
文章目录1-1 棋盘问题1-2 Dungeon Master1-3 Catch That Cow1-4 Fliptile1-5 Find The Multiple1-6 Prime Path1-71-81-91-101-111-121-131-141-1 棋盘问题问题在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。输入输入含有多组测试数据。原创 2020-08-11 21:04:13 · 688 阅读 · 0 评论 -
2020上海高校程序设计竞赛暨第18届上海大学程序设计联赛夏季赛(同步赛)
文章目录A 同源B 分子C 爵士F 游戏A 同源思路:m=n/k后将m分成最大公因子为1的三个数,再将三个数分别乘以k即可得到a,b,c/** problem:同源* method:模拟、gcd* date:2020/08/05*/#include<iostream>#include<vector>#include<queue>#include<stack>#include<utility>#include<原创 2020-08-05 21:46:36 · 800 阅读 · 0 评论 -
CF练习——2020暑假第二周
文章目录A. Omkar and CompletionB. Omkar and Last Class of MathC. Omkar and BaseballA. Magical SticksB. Magical CalendarC. A Cookie for YouD. Grid-00100题目链接:https://codeforces.com/gym/287615https://codeforces.com/gym/287849A. Omkar and Completion签到、找规律原创 2020-07-19 23:42:48 · 321 阅读 · 0 评论 -
2020 年百度之星·程序设计大赛 - 初赛一
1001 Drink/** problem:Drink* method:暴力* date:2020/07/19*/#include<iostream>#define ll long longusing namespace std;const int maxn=105;int t,n,m;int x,y;int main(){ int i,j; cin>>t; while(t--){ cin>>n>>m; int min=原创 2020-07-19 22:17:25 · 1283 阅读 · 0 评论 -
牛客——“歌尔创客杯”第二届哈尔滨理工大学(荣成)程序设计竞赛
文章目录A下棋B打赌C花生米D简单粗暴串E宝藏男孩F考试成绩G相似H修建道路I完美主义者J能量项链A下棋找规律,没个人的每次操作都会改变(0,0)位置点的操作,即每个人要操作时(0,0)的状态对不同人来说都是不会变化的。如果(0,0)初始为白,则每次到M时都是黑,M不会输;相反,L不会输。/** problem:下棋* method:找规律* date:2020/07/14*/#include<iostream>#define LL long longusing nam原创 2020-07-14 21:56:07 · 702 阅读 · 0 评论 -
牛客-西南科技大学第十六届ACM程序设计竞赛暨绵阳市邀请赛
文章目录A-找规律B-签到题C-救救ARD-ar采蘑菇E-呼兰河传A-找规律2*9-13=5,映射13次一次循环/** problem:找规律* method:映射循环* date:2020/07/07*/#include<iostream>#include<string>#define LL long longusing namespace std;string s1[14],s2[14];int f[14],n=13;int main() {原创 2020-07-13 17:47:45 · 524 阅读 · 0 评论 -
牛客——西安邮电大学第五届ACM-ICPC校赛(同步赛)
文章目录A-拯救咕咕咕之史莱姆E-无敌阿姨A-拯救咕咕咕之史莱姆/** problem:拯救咕咕咕之史莱姆* method:模拟、找规律* date:2020/07/10*/#include<iostream>#define LL long longusing namespace std;long long f[10],s[10];int main(){ long long i,j; for(i=1;i<=4;i++){ f[i]=i; } for(i=原创 2020-07-10 21:39:13 · 254 阅读 · 0 评论 -
一个神奇的东西——判断某数是否为一个数的平方时的bug
sqrt(n)*sqrt(n)==n不能作为判断n为某数的平方的条件because,虽然用python做的测试,但dec-c++中有相同问题(神奇!)原创 2020-05-17 21:56:25 · 268 阅读 · 0 评论 -
CCF——2019-2回收站选址
问题源码/** problem: CCF201912-2 回收站选址* method: 查找* date: 2020/05/11*/#include<iostream>#include<algorithm>#include<queue>using namespace std;const int N=100005;typedef struct { int x; int y;} point;point p[N];int result[5];原创 2020-05-11 21:09:39 · 367 阅读 · 5 评论 -
CCF——201912-1报数
题目源码/** problem: CCF201912-1 报数* method: 模拟* date: 2020/05/11*/#include<iostream>using namespace std;int skip_num[4];int n;int Judge(int x) { if(x%7==0) return 0; while(x!=0) { int y=x-x/10*10; if(y==7) return 0; x/=10; } re原创 2020-05-11 21:08:03 · 388 阅读 · 0 评论 -
动态规划——最长公共子序列
问题源码/** problem: 0-1背包问题* method: 动态规划* date:2020/05/08*/#include<iostream>#include<string.h>using namespace std;const int MAX_N=20;char a[MAX_N]="abcd";//序列achar b[MAX_N]="becd";//序列bchar sub[MAX_N];//最长公共子序列int n1=4,n2=4;int d原创 2020-05-11 21:04:03 · 135 阅读 · 0 评论 -
动态规划——完全背包问题
问题源码/** problem: 完全背包* method: 动态规划* date: 2020/05/11*/#include<iostream>#include<string.h>using namespace std;const int MAX_N=100;const int MAX_W=10000;int w[MAX_N]= {3,4,2};int v[MAX_N]= {4,5,3};int dp[MAX_N+1][MAX_W+1];int x[原创 2020-05-11 21:02:06 · 367 阅读 · 0 评论 -
动态规划——01背包
问题原创 2020-05-11 20:47:01 · 200 阅读 · 0 评论 -
动态规划——01背包问题(递推、递归版)
问题源码/** problem: 0-1背包* method: 动态规划(递推、递归版)* date: 2020/05/07*/#include<iostream>#include<string.h>using namespace std;const int MAX_N=10,MAX_W=20,MAX_V=10;int dp[MAX_N][MAX_W];//记忆数组int N=4,W=5;int w[MAX_W]= {2,1,3,2}; //物体重量in原创 2020-05-11 20:45:01 · 1079 阅读 · 0 评论 -
贪心算法——Fence Repair
问题源码/** problem: Fence Repair* method: 贪心、哈夫曼树* date: 2020/05/05*/#include<iostream>using namespace std;const int N=10;int n=3;//需分成n块int L[N]={8,5,8};//各段长度void swap(int& a,int...原创 2020-05-06 15:57:40 · 396 阅读 · 0 评论 -
贪心算法——Saruman's Army
问题源码#include<iostream>#include<algorithm>#include<queue>using namespace std;const int N=100;int n=6;//点的个数int R=10;//半径大小int X[N]= {1,7,15,20,30,50}; //各个点坐标queue<int&g...原创 2020-05-06 15:55:41 · 223 阅读 · 0 评论 -
贪心算法——字典序最小
问题源码/** problem: Best Cow Line* method: 贪心法、队列* date: 2020/05/05*/#include<iostream>#include<queue>using namespace std;const int N=20;char S[N]="ACDBCB";int n=6;queue<char...原创 2020-05-06 15:53:29 · 303 阅读 · 0 评论 -
贪心算法——区间调度问题
问题源码#include<iostream>#include<utility>#include<algorithm>using namespace std;const int N=10;typedef struct { int index; int start; int terminal;} work;int n=5;//工作数in...原创 2020-05-06 15:52:08 · 359 阅读 · 0 评论 -
贪心算法——硬币问题
题目源码#include<iostream>using namespace std;const int V[6]= {1,5,10,50,100,500}; //硬币价值int C[6]= {3,2,1,3,0,2}; //硬币总枚数int num[6];//使用硬币枚数int min(int a,int b) { return a<b?a:b;}int m...原创 2020-05-06 15:50:01 · 745 阅读 · 0 评论 -
Fibonacci进制
题目描述Fibonacci数是非常有名的一个数列,它的公式为 f(n)=f(n-1)+f(n-2),f(0)=1,f(1)=2。 我们可以把任意一个数x表示成若干不相同的Fibonacci数的和, 比如说14 = 13+1 = 8+5+1 = 8+3+2+1。 如果把Fibonacci数列作为数的位权,即f(i)作为第i位的位权,每位的系数只能是0或者1,从而得到一个01串。 比如...原创 2020-04-21 20:39:45 · 1137 阅读 · 1 评论 -
广度优先搜索——迷宫最短路径
/** problem:迷宫的最短距离* method:广度优先搜索* date:2020/04/07*/#include<iostream>#include<utility>#include<queue>using namespace std;typedef pair<int,int> P;//坐标const int INF =...原创 2020-04-29 10:20:23 · 835 阅读 · 0 评论 -
[Contest #10]鱼目混珠
问题源码#include<iostream>using namespace std;int main() { int n,num=0; string s,f="acpty"; cin>>n; for(int i=0; i<n; i++) { cin>>s; if(s.size()<5) continue; int fla...原创 2020-04-15 20:39:34 · 245 阅读 · 0 评论 -
三值的排序
题目题目描述排序是一种很频繁的计算任务。现在考虑最多只有三值的排序问题。一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌排序的时候。在这个任务中可能的值只有三种 1,2 和 3。我们用交换的方法把他排成升序的。写一个程序计算出,给定的一个 1,2,3 组成的数字序列,排成升序所需的最少交换次数。输入描述第一行:奖牌个数 N(1≤N≤1000)第二行到第N+1行:每行一个数字,表示奖...原创 2019-07-30 21:47:58 · 839 阅读 · 0 评论 -
排序算法刷题
文章目录明明的随机数(计数排序)奖学金(快速排序)明明的随机数(计数排序)算法分析:计数排序复杂度:Θ(k+n)题目题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 NNN 个 111 到 100010001000 之间的随机整数(N≤100N≤100N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生...原创 2019-07-27 09:48:57 · 459 阅读 · 0 评论 -
迷宫寻路
迷宫寻路题目给定一个M行N列的迷宫图,其中 “0"表示可通路,“1"表示障碍物,无法通行。在迷宫中只允许在水平或上下四个方向的通路上行走,走过的位置不能重复走。5行8列的迷宫如下: 0 1 1 1 0 0 0 00 0 0 1 0 0 0 00 1 0 0 0 1 0 00 1 1 1 0 1 1 01 0 0 0 0 0 0 0则从左上角(1,1)至右下角(5,8)的最短路径...原创 2019-10-06 14:00:01 · 2849 阅读 · 3 评论 -
PTA 符号配对
PTA 符号配对题目请编写程序检查C语言源程序中下列符号是否配对:/与/、(与)、[与]、{与}。输入格式:输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对的符号不超过100个。输出格式:首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果...原创 2019-10-06 13:55:45 · 1254 阅读 · 0 评论