蓝桥杯算法基础
风再起时0.0
做一些基础知识的记录,同时希望加强自己的代码能力
展开
-
算法基础-日期练习
节假日关键:日期数组----闰年判断与变换—星期几的变换#include <cstdio>int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//每个月的天数 int mm[10]={1,5,10,10,10,12}int dd[10]={1,1,1,2,3,25}int nextday(int &m, int &d)//传递引用,可以对实际的局部变量进行改变 { if(d==day[m])//最后一天原创 2021-04-18 21:37:15 · 67 阅读 · 0 评论 -
算法基础-字符串简单练习
1.最长名字-字符串复制方法:每输入一个名字,就算出字符串的长度,然后与已有的长度比较,如果更长,则将当前名字字符串复制给答案数组。(如果使用c++中的string可以直接进行赋值)#include <cstdio>#include <cstring>char s[105],ans[105];int main(){ int N,l=0,anslen; scanf("%d",&N); for(int i=0; i<N; i++) { scanf(原创 2021-04-18 21:32:03 · 106 阅读 · 0 评论 -
算法基础---机器人坐标
机器人坐标方法:定义方向数组,注意当前位置以及转向之后位置的变换关系,循环变换#include <iostream>using namespace std;int x[4]={0,1,0,-1};//方向数组表示单位向量int y[4]={1,0,-1,0};char op[15];int main(){ int n,m,d=1,nowx=0,nowy=0; cin>>n; for(int i =0; i< n; i++) { cin>&g原创 2021-04-18 21:16:56 · 256 阅读 · 0 评论 -
算法基础-回文数+串
回文数-串的实现回文数法一:存下数字的每一位,然后利用数组下标从两头往中间比法二:将一个数反转,然后看是否与原来的数相等—将整数进行反转的方式如下#include <iostream>using namespace std;int num[1005];//存下每一步的数 int t[40];bool judge(int n)//判断是否为回文 { int i=0; while(n) { t[i++]=n%10;//存下每一位 n/=10; } for(i原创 2021-04-18 21:08:01 · 127 阅读 · 0 评论 -
算法基础--进制转换
进制转换-辗转相除输入一个十进制数 N,将它转换成 R 进制数输出。在 10≤R≤16 的情况下,用'A'表示 10,用'B'表示 11,用'C'表示 12,用'D'表示 13,用'E'表示 14,用'F'表示 15。输入格式输入包含两个整数 N(N≤10000) 和 R(2≤R≤16)。注意,NN 有可能是负整数。输出格式输出一行,表示转换后的数。样例输入复制23 12样例输出复制1B辗转相除类似,将与进制R相除的余数存在一个数组中,然后倒序输出#include <ios原创 2021-04-18 20:57:22 · 406 阅读 · 0 评论 -
算法基础-交叉排序
交叉排序-sort答案:这里自己定义下标为1开始计算#include <iostream>#include <algorithm>using namespace std;int A[100005];//开大一点int main(){ int N,l1,r1,l2,r2; cin>>N>>l1>>r1>>l2>>r2; for(int i = 1;i<=N;i++)//使用1-N更加方便 {原创 2021-04-18 20:54:27 · 269 阅读 · 0 评论 -
算法基础练习-排序与去重
蒜头君的随机数蒜头君想在学校中请一些同学一起做一项问卷调查,为了确保实验的客观性,他先用计算机生成了n(1≤n≤100) 个 1到 1000 之间的随机整数,对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助蒜头君完成“去重”与“排序”的工作。输入格式共两行,第一行为一个正整数 nn。第二行有 nn 个用空格隔开的正整数,为所产生的随机数。输出格式第一行输出一个正整数 mm,表示不相同的随机数的原创 2021-04-18 20:52:02 · 127 阅读 · 0 评论 -
矩阵旋转-数组下标变换
1.矩阵旋转给出一个n×m 的整数矩阵,请你把这个矩阵顺时针旋转 90° 以后输出。输入格式第一行输入两个整数 )n,m(1≤n,m≤200),用空格隔开。接下来 n 行,每行输入 m 个整数,表示输入的矩阵。矩阵中元素都是 int 范围内的整数。输出格式输入 m 行,每行 n个空格隔开的整数,表示旋转以后的矩阵。注意:每行末尾不能输出多余的空格。样例输入复制3 4-1 3 6 37 7 9 110 3 4 6样例输出复制10 7 -13 7 34 9 66 1 3答案原创 2021-04-18 20:43:00 · 433 阅读 · 0 评论