蓝桥杯
霍雨浩——舞麟
这个作者很懒,什么都没留下…
展开
-
1399: [蓝桥杯2018决赛]迷宫与陷阱
细品,你细品!!!#include<bits/stdc++.h>using namespace std;#define ll long longint vis[1005][1005][15];///vis[x][y][k]:走到 (x, y),还有 k 步无敌状态。char mp[1005][1005];int dir[4][2]={1,0,-1,0,0,1,0,-1};int n,k;struct node{ int x,y,k,step;};int bfs.原创 2020-11-04 23:28:38 · 306 阅读 · 0 评论 -
1397: [蓝桥杯2018决赛]最大乘积(全排列)(思维)
#include<bits/stdc++.h>using namespace std;#define ll long longdouble eps=1e-8;int a[]={1,2,3,4,5,6,7,8,9};ll ans=0;set<int>s;void f(int x){ s.clear(); ll num1=0; ll num2=0; for(int i=0;i<x;i++) { num1=nu.原创 2020-11-04 20:05:39 · 141 阅读 · 0 评论 -
1393: [蓝桥杯2018决赛]调手表
#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn=1e5+20;int vis[maxn];int dis[maxn];queue<int>q;int n,k;int ans=0;///bfs算法需要将所有的点先后入列,///vis数组的作用就是确保所有的点都入过列,且不会重复入列void bfs(){ vis[0]=1; q.pus.原创 2020-11-04 18:47:01 · 174 阅读 · 0 评论 -
1392: [蓝桥杯2018决赛]激光样式
#include<bits/stdc++.h>using namespace std;#define ll long longint vis[100];int ans;void dfs(int x){ if(x==31) { ans++; return ; } dfs(x+1); ///x灭,x+1亮 if(vis[x-1]==0) { vis[x]=1; ///x亮 .原创 2020-11-04 13:00:58 · 101 阅读 · 0 评论 -
1391: [蓝桥杯2018决赛]换零钞 (水题)(暴力)
#include<bits/stdc++.h>using namespace std;#define ll long longint main(){ int ans=0x3f3f3f; for(int a=1; a<=100; a++) { for(int b=1; b<=100; b++) { for(int c=1; c<=100; c++) { .原创 2020-11-04 12:51:46 · 181 阅读 · 0 评论 -
1357: [蓝桥杯2017决赛]小计算器
一道模拟题,各种问题都来了。没有问题后,提交后发现超时。。。网上参考的一段代码,思路很清晰!!!#include<bits/stdc++.h>using namespace std;#define ll long longll R_to_Ten(string s,int jinzhi) ///R进制转十进制{ ll cnt=1; reverse(s.begin(),s.end()); ll ans=0; for(int i=0;i<s.siz.原创 2020-11-04 10:53:14 · 110 阅读 · 0 评论 -
1388: [蓝桥杯2018决赛]约瑟夫环 (思维)
直接套公式即可#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn=1e6+5;int f[maxn];int main(){ int n,k; scanf("%d%d",&n,&k); f[1]=0; for(int i=2; i<=n; i++) { f[i]=(f[i-1]+k)%i; .原创 2020-11-03 23:35:13 · 232 阅读 · 0 评论 -
1387: [蓝桥杯2018决赛]阅兵方阵
这道题说白了就是把一个数分成两个平方数,问这一组平方数有多少种,注意:例如:1、9 = 1 + 82、9 = 8 + 1∵ 上述两种情况其实是同一个队形∴ 要求变换的队形数量要 * 2#include<bits/stdc++.h>using namespace std;#define ll long longint q[105];int w[105];int main(){ for(int i=1; ;i++) { int cnt=.原创 2020-11-03 23:21:56 · 173 阅读 · 0 评论 -
1386: [蓝桥杯2018决赛]三角形面积
#include<bits/stdc++.h>using namespace std;#define ll long longdouble len(double x1,double y1,double x2,double y2){ double l=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); return l;}int main(){ double a=len(2.3,2.5,6.4,3.1); double b.原创 2020-11-03 22:52:12 · 117 阅读 · 0 评论 -
1358: [蓝桥杯2017决赛]数位和 (水题)
#include<bits/stdc++.h>using namespace std;#define ll long longint f(int x){ int sum=0; while(x) { sum+=x%10; x/=10; } return sum;}int main(){ int sum=0; for(int i=1;i<=1000;i++) { su.原创 2020-11-03 22:33:22 · 123 阅读 · 0 评论 -
1356: [蓝桥杯2017决赛]图书排列(全排列) (水题)
#include<bits/stdc++.h>using namespace std;#define ll long longint a[]={1,2,3,4,5,6,7,8,9,10};int main(){ int ans=0; do { if(abs(a[0]-a[1])==1) continue; if(abs(a[1]-a[2])==1) continue; if(abs(a[2]-a[3])==1) .原创 2020-11-03 19:53:11 · 183 阅读 · 0 评论 -
1355: [蓝桥杯2017决赛]合根植物 (并查集)
#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn=1e6+10;int fu[maxn];int vis[maxn];int xunzu(int x){ if(x==fu[x]) { return x; } return fu[x]=xunzu((fu[x]));}int main(){ int m,n; .原创 2020-11-03 19:48:17 · 137 阅读 · 0 评论 -
1354: [蓝桥杯2017决赛]分考场 (dfs)
#include<bits/stdc++.h>using namespace std;#define ll long longint room[105][105];///保存每个房间的学生的编号int rela[105][105];///表示两个人是否有关系int cnt=200;///最大人数为200int n;void dfs(int num,int x)///x表示的是当前操作的学生编号为x,num表示的是当前的房间数量{ if(num>=cnt)///最优.原创 2020-11-03 19:31:04 · 127 阅读 · 0 评论 -
1353: [蓝桥杯2017决赛]小数第n位 (思维)
暴力40分,要注意n的取值范围!!!!#include<bits/stdc++.h>using namespace std;#define ll long longint main(){ ll a,b,n; while(cin>>a>>b>>n) { ios::sync_with_stdio(false); int num1=0,num2=0,num3=0; int cnt=.原创 2020-11-02 21:15:03 · 115 阅读 · 0 评论 -
1352: [蓝桥杯2017决赛]数字划分
dfs还是一个硬伤啊。。。#include<bits/stdc++.h>using namespace std;#define ll long longint a[]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};int vis[30];int cnt=0;int ans[50];int sum1,sum2,sum3;void dfs(int k){ if(k==8&&a[0]==1) { .原创 2020-11-02 20:44:09 · 162 阅读 · 0 评论 -
1351: [蓝桥杯2017决赛]哥德巴赫分解(思维)
题意就是:每个偶数分解为两个素数,只取最小的那个,再在取出的数中找出最大的。(有点绕)#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn=1e4+10;int sushu[maxn];int main(){ memset(sushu,0,sizeof(sushu)); sushu[2]=1; for(int i=3; i<=maxn; i++) .原创 2020-11-02 20:04:41 · 412 阅读 · 1 评论 -
1349: [蓝桥杯2017决赛]对局匹配 (dp)
#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn=1e5+5;int q[maxn];;///q[i]=k 代表积分为i的用户有k个人int n,k;ll dp[maxn];ll max(ll a,ll b){ if(a>b) return a; else return b;}ll f(int beg,int ed){ me...原创 2020-11-02 19:38:02 · 111 阅读 · 0 评论 -
1348: [蓝桥杯2017决赛]发现环 (dfs+并查集)
#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn=1e5+10;int be,e; ///起点和终点int n;int ans[maxn];///结果数组,用于保存所有在环上的点int fa[maxn];///并查集数组int vis[maxn]; ///用于做标记,判断当前结点是否已经访问过vector<int>v[maxn];///关系图,这里使用动态数组.原创 2020-11-02 09:13:04 · 108 阅读 · 0 评论 -
1347: [蓝桥杯2017决赛]磁砖样式
思路:当摆满所有格子的时候就检查是否出现某个2*2的小格子是同一种颜色,以及这种摆放方式是否已经计算过。我是采用二进制来表示每一种能铺满的情况,黄色用0表示,橙色用1表示,再用map来记录和判断是否重复计算。看代码,有很详细的注释!!!#include<bits/stdc++.h>using namespace std;#define ll long longmap<int,int>mp;int graph[4][11]; ///int ans=0;bool ch.原创 2020-11-01 20:10:09 · 111 阅读 · 0 评论 -
1346: [蓝桥杯2017决赛]36进制 (进制)
脑残了,最基本的进制转换想复杂了,毕竟是个国赛。。。#include<bits/stdc++.h>using namespace std;#define ll long longint main(){ ll sum; int a='Y'-'A'+10; int b=('N'-'A'+10)*36; int c=10*36*36; int d=('M'-'A'+10)*36*36*36; printf("%d\n",a+b+c+d);原创 2020-10-31 23:07:22 · 105 阅读 · 0 评论 -
1341: [蓝桥杯2017决赛]平方十位数
#include<bits/stdc++.h>using namespace std;#define ll long longint a[]= {0,1,2,3,4,5,6,7,8};ll ans;ll maxx(ll a,ll b) { if(a>b) return a; else return b; }void solve(){ ll num; num=9000000000+a[0]*100000000+a[1]*10000.原创 2020-10-31 21:50:50 · 156 阅读 · 0 评论 -
1316: [蓝桥杯2016决赛]七星填数 (全排列)
需要注意的坑点:不要直接1~14全排列,只需要排列剩下的11个数即可#include<bits/stdc++.h>using namespace std;#define ll long longint a[]={1,2,3,4,5,7,8,9,10,12,13};int ans;bool check(){ int num1=a[0]+a[1]+a[2]+a[3]; int num2=6+a[1]+a[4]+14; if(num1!=num2) retur原创 2020-10-31 20:01:10 · 234 阅读 · 0 评论 -
1315: [蓝桥杯2016决赛]愤怒小鸟(模拟)
做完这道题,我开始有些后悔刚刚交的300块了。。。真的是菜,估计连国三都没了。。。。。。#include<bits/stdc++.h>using namespace std;#define ll long longint main(){ int v1=10; int v2=10; int v=50; int k=0; int ans=0; double t,dis=1000; while(dis>1) {原创 2020-10-31 19:30:54 · 223 阅读 · 0 评论 -
1314: [蓝桥杯2016决赛]阶乘位数 (数论)
#include<bits/stdc++.h>using namespace std;#define ll long longint q[105];int w[105];int main(){ double ans=1; for(int i=1;i<=9999;i++) { ans=ans+log(i*1.0)/log(2.0); } printf("%d\n",(int)ans);}原创 2020-10-31 18:43:45 · 177 阅读 · 0 评论 -
1313: [蓝桥杯2016决赛]赢球票 (模拟)
一道没什么毛病的模拟题,但是脑残的我居然看别人写的代码,看懂了感觉,但是最后自己打的时候觉得不怎么对,有一条语句看了半天也没看懂,搞我心态。。。建议大家没看懂的话就别写博客了,真的害人!!!#include<bits/stdc++.h>using namespace std;#define ll long longint q[105];int w[105];int main(){ int n; while(~scanf("%d",&n)) {原创 2020-10-31 18:24:39 · 404 阅读 · 0 评论 -
1312: [蓝桥杯2016决赛]反幻方(水题)
#include<bits/stdc++.h>using namespace std;#define ll long longint a[]= {1,2,3,4,5,6,7,8,9};int ans;set<int>s;bool check(){ s.clear(); int num1=a[0]+a[1]+a[2];///hang int num2=a[3]+a[4]+a[5]; int num3=a[6]+a[7]+a[8]; .原创 2020-10-31 15:17:35 · 155 阅读 · 0 评论 -
[蓝桥杯2016决赛]凑平方数
#include<bits/stdc++.h>#define ll long long#include<set>using namespace std;int a[10]={0,1,2,3,4,5,6,7,8,9};ll q[10];set<string>s;void dfs(int step,int num)///step代表搜索的深度,num代表这一组中有几个数{ if(step==10)///如果已经用完所有的10个数 { .原创 2020-10-30 12:14:39 · 138 阅读 · 0 评论 -
1303: [蓝桥杯2016决赛]路径之谜(dfs+全排列)
#include<bits/stdc++.h>using namespace std;#define ll long longint xi[25];///西边的靶子上的箭数int bei[25];///北边的靶子上的箭数int vis[25][25];///标记是否走过int n;int ans[405];///存储路径int dir[4][2]= {1,0,-1,0,0,1,0,-1};int flag=0;int cnt=0;bool check() ///检查.原创 2020-10-30 08:52:19 · 206 阅读 · 0 评论 -
[蓝桥杯2016决赛]随意组合 (全排列+思维)
这种全排列的方式第一次见。。。被难住了。思路:由图易知当第一组为(2,1)时,共有6种情况,而第一组共有4种可能,所以总共有6x4=24种可能。而且易知:一组数据不动,另一组数据全排列即可。#include<bits/stdc++.h>using namespace std;#define ll long longint a[]= {2,3,5,8};int b[]= {1,4,6,7};int num[1000000];int main(){ int ans原创 2020-10-28 11:26:44 · 1198 阅读 · 0 评论 -
[蓝桥杯2015决赛]奇怪的数列 (模拟水题)
#include<bits/stdc++.h>using namespace std;#define ll long longint main(){ ios::sync_with_stdio(false); string s; int n; cin>>s>>n; int num[10]; while(n--) { memset(num,0,sizeof(num));// fo.原创 2020-10-28 10:44:08 · 196 阅读 · 0 评论 -
[蓝桥杯2015决赛]生成回文数 (模拟)
需要注意的点:1.x不一定一直都是三位数。2.x的范围可能会超ll,超ll的那个数就是答案。#include<bits/stdc++.h>using namespace std;#define ll long longint a[100];void i2s(ll i,string &s) ///将int 类型转换成string 类型{ stringstream ss; ss<<i; ss>>s;}bool is_h.原创 2020-10-28 10:27:47 · 223 阅读 · 0 评论 -
[蓝桥杯2015决赛]机器人繁殖 (数学)
公式推导出来后,Sn=(2^n-1)*(a1-1)+n+i;其中,a1为一年后的数值#include<bits/stdc++.h>using namespace std;#define ll long longdouble eps=1e-6;double num(int x){ double ans=1; for(int i=1; i<=x; i++) { ans=ans*2; } return ans;}in.原创 2020-10-28 09:01:27 · 210 阅读 · 0 评论 -
[蓝桥杯2015决赛]五星填数 (水)
#include<bits/stdc++.h>using namespace std;#define ll long longint a[]= {1,2,3,4,5,6,8,9,10,12};int ans;int vis[20];bool check(){ if(a[0]+a[2]+a[5]+a[8]!=24) return 0; if(a[0]+a[3]+a[6]+a[9]!=24) return 0; if(a[1]+a[2]+a[3]+a[4].原创 2020-10-27 23:36:58 · 82 阅读 · 0 评论 -
[蓝桥杯2015决赛]分机号 (巨水)
呵呵,这破题给我整醉了。。。我一直都理解的是“3位分机号码”是“三个三位数的号码”。原来真的只是三个数字做做两两比较。。。这题已经不能作为编程题了,为什么不去作为语文的阅读?这给的样例也有一定的迷惑性。。。#include<bits/stdc++.h>using namespace std;#define ll long longint a[]={0,1,2,3,4,5,6,7,8,9};int main(){ int ans=0; for(int a=0;a原创 2020-10-27 23:24:28 · 159 阅读 · 0 评论 -
[蓝桥杯2015决赛]密文搜索 (思维)
这道题的关键是要看懂题意:“这些密码是被打乱后隐藏在先前那份资料中的”,“都是小写字母组成,长度都为8 ”,“要考虑密码的所有排列可能性”思路:把原字符串,每8个字母统计一下个数,存进一个数组当输入n组字符串时,统计每一个字符串中字母的个数,然后和存储的字符串进行比较,如果字母个数相同,计数器+1就行#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn=1e6+1e5;in.原创 2020-10-27 23:06:04 · 171 阅读 · 0 评论 -
[蓝桥杯2015决赛]完美正方形 (dfs)
说实话,看了半天也没看出来这是让干什么的,上网一搜,才知道是dfs,完全没看出来???,哎,真是菜的抠脚啊。。还是应该多多刷题。。。#include<bits/stdc++.h>using namespace std;#define ll long longint a[]= {2,5,9,11,16,17,19,21, 22, 24, 26, 30,31,33,35,36,41,50,52 };int vis[154];int mp[160][160];void tianman原创 2020-10-27 21:44:30 · 193 阅读 · 0 评论 -
[蓝桥杯2015决赛]切开字符串
这题有一个坑:非正回文子串,表示的是除了正回文子串以外的所有的子串。。。题目地址:https://www.dotcpp.com/oj/problem1826.html#include<bits/stdc++.h>using namespace std;///ios::sync_with_stdio(false);#define ll long longconst int maxn=100010;int re[maxn]; ///某个点切断时的正回文数量int not_原创 2020-10-27 12:44:19 · 302 阅读 · 0 评论 -
[蓝桥杯2015决赛]穿越雷区 (bfs)
一道题,居然卡在了输入数据上,我去。。。搞了半天也不知道怎么把数据完整的输进去。。。这一次涨姿势了。。。#include<bits/stdc++.h>using namespace std;#define ll long longchar mp[106][105];int dir[4][2]= {1,0,-1,0,0,1,0,-1};///方向int vis[105][105]; ///标记是否走过int n;struct node{ int x,y;原创 2020-10-26 21:01:51 · 297 阅读 · 1 评论 -
蓝桥杯2015决赛]四阶幻方
万万没想到能拿到省一,以为第一次能拿个省二就不错了,有些意外。。。那么就从此题再次开启我的蓝桥杯刷题之旅把!!!原创 2020-10-26 19:23:20 · 207 阅读 · 0 评论 -
[蓝桥杯2018初赛]第几个幸运数 (思路)
#include<stdio.h>#include<queue>#include<math.h>#include<map>#include<iostream>#include<string>#include<algorithm>#include<sstream>#include<set>using namespace std;#define ll long longconst .原创 2020-10-14 00:24:45 · 780 阅读 · 0 评论