#include<iostream>
#include<vector>
using namespace std;
vector <int > vec;
long long sum;
int main(){
for(int i=;i<=;i++){
int cnt=;
int a[]={,,,};
int t=i;
while(t){
a[cnt]=t%;
t/=;
cnt++;
}
for(int j=;j<cnt;j++){
if(a[j]==||a[j]==||a[j]==||a[j]==){
vec.push_back(i);
break;
}
}
}
for(vector<int>::iterator it = vec.begin(); it != vec.end(); it++){
sum+=(*it)*(*it);
}
cout<<sum;
return ;
}

思路是将1到2019的所有数字的每一位存到a数组里,然后比较它的每一位看有没有2,0,1,9;如果有就插入到队列里面。

然后将队列中每个元素的平方存到sum里再输出。

第二题

 #include<iostream>
using namespace std;
int main(){
int d;
int a=,b=,c=;
for(int i=;i<=;i++){
d=(a+b+c)%;
a=b%;
b=c%;
c=d%;
}
cout<<d;
}

这个就是要注意模10000来避免超范围。

第3题


解法1

 #include <iostream>
#include <string>
#include <queue> using namespace std; string ss[];
int maze[][];
int dir[][] = { { , }, { , - }, { , }, { -, } };
char letter[] = { 'D', 'L', 'R', 'U' };
int cnt = ;
bool vis[][]; struct node
{
int x;
int y;
string s;
int step;
node(int xx, int yy, string ss, int st)
{
x = xx;
y = yy;
s = ss;
step = st;
}
}; bool in(int x, int y)
{
if (x < && x >= && y < && y >= )
{
return true;
}
return false;
} void bfs(int x, int y, string s, int step)
{
queue<node> q;
q.push(node(x, y, s, step));
while (!q.empty())
{
node now = q.front();
q.pop(); vis[now.x][now.y] = true; if (now.x == && now.y == )
{
if (now.step < cnt)
{
cnt = now.step;
cout << now.step << " : " << now.s << endl; }
continue;
} for (int i = ; i < ; i++)
{
int tx = now.x + dir[i][];
int ty = now.y + dir[i][]; if (maze[tx][ty] != && !vis[tx][ty] && in(tx, ty))
{
q.push(node(tx, ty, now.s + letter[i], now.step + ));
}
}
}
} int main()
{
for (int i = ; i < ; i++)
{
cin >> ss[i];
} for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
maze[i][j] = (ss[i][j] - '');
}
} int step = ;
string s = "";
bfs(, , s, step); system("pause");
return ;
}

解法2:yxc做的

 #include <cstring>
#include <iostream>
#include <algorithm>
#include <set>
#include <queue> using namespace std;
const int N = ;
int n, m;
string g[N];
int dist[N][N];
int dx[] = {, , , -}, dy[] = {, -, , };
char dir[] = {'D', 'L', 'R', 'U'}; void bfs()
{
queue<pair<int,int>> q;
memset(dist, -, sizeof dist);
dist[n - ][m - ] = ;
q.push({n - , m - });
while (q.size())
{
auto t = q.front();
q.pop();
for (int i = ; i < ; i ++ )
{
int x = t.first + dx[i], y = t.second + dy[i];
if (x >= && x < n && y >= && y < m && dist[x][y] == - && g[x][y] == '')
{
dist[x][y] = dist[t.first][t.second] + ;
q.push({x, y});
}
}
}
}
int main()
{
cin >> n >> m;
for (int i = ; i < n; i ++ ) cin >> g[i];
bfs();
cout << dist[][] << endl;
int x = , y = ;
string res;
while (x != n - || y != m - )
{
for (int i = ; i < ; i ++ )
{
int nx = x + dx[i], ny = y + dy[i];
if (nx >= && nx < n && ny >= && ny < m && g[nx][ny] == '')
{
if (dist[x][y] == + dist[nx][ny])
{
x = nx, y = ny;
res += dir[i];
break;
}
}
}
}
cout << res << endl;
return ;
}
解法3,先输入30,50,行号列号
 #include<iostream>
#include<queue>
using namespace std;
char ma[][];
bool visit[][];
int dx[] = {, , , -};
int dy[] = {, -, , };
char d[] = {'D', 'L', 'R', 'U'};
int main() {
int n, m;
cin >> n >> m;
for (int i = ; i <= n; i++) {
for (int j = ; j <= m; j++) {
cin >> ma[i][j];
}
}
queue<pair<int,int> > que;
queue<string> step; //记录路径
visit[][] = true;
que.push(make_pair(, ));
step.push("");
while(!que.empty()) {
pair<int, int> top = que.front();
int x = top.first;
int y = top.second;
string s = step.front();
que.pop();
step.pop();
if (x == n && y == m) {
cout << s.length() << endl;
cout << s;
break;
}
for (int i = ; i < ; i++) {
int tx = x + dx[i];
int ty = y + dy[i];
string tem = s;
if (visit[tx][ty] == true || ma[tx][ty] == '' || tx < || tx > n || ty < || ty > m) {
continue;
}
tem = tem + d[i];
visit[tx][ty] = true;
step.push(tem);
que.push(make_pair(tx,ty));
}
}
return ;
}
第四题

这题就是每周都找最大的。

第一周49 48 47 46 3个数   就是46

第二周45 44 43 42 3个数   就是42

第三周41 40 39 38 3个数   就是38

所以每周最大的都是-4;4,5,6,7周最大的中位数分别为34,30,26,22;

然后7周的就是22,26,30,34,38,42,46;

所以答案就是34

2019年第十届蓝桥杯c++A组java/c++组题解的更多相关文章

  1. 2019年第十届蓝桥杯【C++省赛B组】

    试题 A: 组队 本题总分:5 分 作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员,组成球队的首发阵容.每位球员担任 1 号位至 5 号位时的评分如下表所示.请你计算首发阵容 ...

  2. 2019年第十届蓝桥杯省赛总结(JavaA组)

    //update3.28:省一rank4,莫名进了国赛好神奇.. 记yzm10第一次体验A组(纯粹瞎水). 早闻山东的JavaA组神仙打架,进国赛都成了奢望(往年只有五个名额),因此抱着做分母的心态来 ...

  3. 2019年第十届蓝桥杯国赛总结(JavaA组)

    JavaA组国二,可以报销了~ JA死亡之组可不是盖的,rank12的排名还是拿不到国一啊(只有五个.. 出成绩的一刻波澜不惊,毕竟去年有国一了不慌哈哈哈 不过对我来说这个结果还算意料之外吧,毕竟大三 ...

  4. 2019年第十届蓝桥杯【C++省赛B组】D、E、G、H、I题解

    这场有几道题目思路,在之前比赛中遇到过 D. 数的分解 #枚举 题意 将\(2019\)分解成\(3\)个各不相同的正整数之和,并且每个正整数都不包含数字\(2\)和\(4\),一共有多少种分解方法? ...

  5. 2019年第十届蓝桥杯C/C++程序设计本科B组省赛 E迷宫

    试题 E: 迷宫 本题总分: 分 [问题描述] 下图给出了一个迷宫的平面图,其中标记为 的为障碍,标记为 的为可 以通行的地方. 迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它 ...

  6. 2019年第十届蓝桥杯省赛-迷宫(BFS/Excel大法)

    这题用dfs搜不出来,需要使用bfs并记录路径,设置好方向顺序跑就ok 正解类似:POJ-3984 迷宫问题 然而毕竟是暴力杯,我们的原则是代码能省就省(懒癌晚期 于是乎网上便出现了形形色色的题解,笔 ...

  7. 2019年第十届蓝桥杯省赛-糖果(一维状压dp)

    看到20的数据量很容易想到状压dp. 开1<<20大小的数组来记录状态,枚举n个糖包,将其放入不同状态中(类似01背包思想) 时间复杂度O(n*(2^20)). import java.u ...

  8. 第十届蓝桥杯2019年C/C++ 大学B组省赛试题

    2019年第十届蓝桥杯大赛软件类省赛C/C++大学B组 试题 A:组队 本题总分:5分 [问题描述] 作为篮球队教练,你需要从以下名单中选出 1号位至 5号位各一名球员, 组成球队的首发阵容. 每位球 ...

  9. 2019第十届蓝桥杯C++B组题解(赛后重写的,不确保答案正确性,仅供参考)

    先说一下这次的感受吧,我们考场比较乱,开始比赛了,还有的电脑有故障,(向这些人发出同情),第一次认真参加比赛,真正比赛的时候感觉没有那么正式,很乱,各种小问题,(例如博主就没找到题目在哪里,找到后又不 ...

随机推荐

  1. vue+rest-framework前后端分离整合

    一.vue部分 二.django路由配置 (1)项目urls.py修改如下: from django.conf.urls import url, include urlpatterns = [ # p ...

  2. 【阿里云产品公测】PTS压力测试最低配ECS性能及评测

    PTS是一个性能测试工具,可以使用PTS对自身系统性能在阿里云环境里的状况进行整体评估来找出你的系统性能瓶颈从而优化系统,同时你还可以在了解自己的系统性能指标情况下便于未来新增扩容.在使用PTS前你必 ...

  3. shell中和RDA中的alert日志中文乱码

    客户端字符集无法识别中文,只能下载到本机使用nodepad++查看

  4. Eclipse Java常用快捷键(Eclipse Shortcut Keys for Java Top10)(转)

    Eclipse Java常用快捷键(Eclipse Shortcut Keys for Java Top10) 0.背景Eclipse作为Java的OpenSource开发IDE,已经是开发人员进行J ...

  5. [转]JetBrains IntelliJ IDEA 13 Keygen (Java Source Code)

    转载:http://www.rover12421.com/2013/12/09/jetbrains-intellij-idea-13-keygen-java-source-code.html JetB ...

  6. IOS开发之——画图(CGContext)

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zhenyu5211314/article/details/24230581 0  CGContext ...

  7. 【洛谷5280】[ZJOI2019] 线段树(线段树大力分类讨论)

    点此看题面 大致题意: 给你一棵线段树,两种操作.一种操作将每棵线段树复制成两个,然后在这两个线段树中的一个上面进行\(Modify(l,r)\).另一种操作询问所有线段树的\(tag\)总和. 大力 ...

  8. luogu P3796【模板】AC自动机(加强版)

    嘟嘟嘟 这个和某谷的AC自动机模板简单版差不多. 但还是要注意几点的: 1.这个是统计出现次数,而不是是否出现,所以在查询的时候加上这个节点的val后,不能把val标记为-1.那么也就可以说查询的时间 ...

  9. POJ 2182 Lost Cows 【树状数组+二分】

    题目链接:http://poj.org/problem?id=2182 Lost Cows Time Limit: 1000MS   Memory Limit: 65536K Total Submis ...

  10. ActionBar 的应用

    转载:http://blog.csdn.net/yuxlong2010 作为Android 3.0之后引入的新的对象,ActionBar可以说是一个方便快捷的导航神器.它可以作为活动的标题,突出活动的 ...