学习总结22

解题思路

简单模拟。

代码

#include <bits/stdc++.h>
using namespace std;
long long g[2000000];
long long n;
int main()
{long long x,y,z,sum=0,k=0;scanf("%lld",&n);for(x=1;x<=n;x++)scanf("%lld",&g[x]);for(x=1;x<n;x++){scanf("%lld%lld",&y,&z);k=g[x]/y;g[x+1]+=z*k;}printf("%lld",g[x]);return 0;
}

解题思路

运用dfs的方法,但搜索方向和顺序都是固定的。

代码

#include <bits/stdc++.h>
using namespace std;
char g[510][510];
int h,w,n;
char t[510];
int m[510];
int ne[5][2]={{0,0},{1,0},{0,1},{-1,0},{0,-1}};
int main()
{int x,y,z,l,r,tx,ty,sum=0;scanf("%d%d%d",&h,&w,&n);scanf("%s",t);for(x=0;t[x]!='\0';x++){switch(t[x]){case 'L':m[x]=4;break;case 'U':m[x]=3;break;case 'R':m[x]=2;break;case 'D':m[x]=1;break;}}for(x=1;x<=h;x++){getchar();scanf("%s",g[x]+1);}for(x=1;x<=h;x++){for(y=1;y<=w;y++){if(g[x][y]=='.'){l=x;r=y;for(z=0;z<n;z++){tx=l+ne[m[z]][0];ty=r+ne[m[z]][1];if(g[tx][ty]!='.')break;l=tx;r=ty;}if(z==n)sum++;}}}printf("%d",sum);return 0;
}

解题思路

排序一下然后模拟就行了。

代码

#include <bits/stdc++.h>
using namespace std;
long long g[110];
int main()
{long long t,n,sum=0;long long x,y,z;scanf("%d",&t);for(x=0;x<t;x++){sum=0;scanf("%lld",&z);for(y=1;y<=z;y++)scanf("%lld",&g[y]);sort(g+1,g+z+1);for(y=1;y<z;y++)sum+=g[y+1]-g[y];printf("%lld\n",sum);}return 0;
}

解题思路

运用并查集来模拟连接各个村子,然后检查有几个城镇没有链接就将它链接就行了(要小心多棵树出现的情况)。

代码

#include <bits/stdc++.h>
using namespace std;
int j[1010];
struct ss
{int x;int y;
}g[1010*1010];
int find1(int x)
{if(j[x]==x)return x;return j[x]=find1(j[x]);
}
void unit(int x,int y)
{j[find1(y)]=find1(x);
}
void sset(int b)
{for(int x=1;x<=b;x++)j[x]=x;
}
int main()
{int n,m;int x,y,z,sum;while(1){scanf("%d",&n);if(n==0)break;sset(n);sum=0;scanf("%d",&m);for(x=0;x<m;x++){scanf("%d%d",&g[x].x,&g[x].y);if(find1(g[x].x)!=find1(g[x].y)){unit(g[x].x,g[x].y);}}for(x=2;x<=n;x++){if(find1(1)!=find1(x)){unit(1,x);sum++;}}printf("%d\n",sum);}return 0;
}

# [蓝桥杯 2013 省 B] 翻硬币

## 题目背景

小明正在玩一个“翻硬币”的游戏。

## 题目描述

桌上放着排成一排的若干硬币。我们用 `*` 表示正面,用 `o` 表示反面(是小写字母,不是零),比如可能情形是 `**oo***oooo`,如果同时翻转左边的两个硬币,则变为 `oooo***oooo`。现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?

## 输入格式

两行等长字符串,分别表示初始状态和要达到的目标状态,每行长度小于 1000。

数据保证一定存在至少一种方案可以从初始状态和要达到的目标状态。

## 输出格式

一个整数,表示最小操作步数。

## 样例 #1

### 样例输入 #1

```
**********
o****o****
```

### 样例输出 #1

```
5
```

## 样例 #2

### 样例输入 #2

```
*o**o***o***
*o***o**o***
```

### 样例输出 #2

```
1
```

代码

#include <bits/stdc++.h>
using namespace std;
char g[1010];
char j[1010];
int main()
{int x,y,z=0;scanf("%s%s",g,j);for(x=0;g[x]!='\0';x++){if(g[x]!=j[x]){g[x]=j[x];if(g[x+1]=='*')g[x+1]='o';elseg[x+1]='*';z++;}}printf("%d",z);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/484846.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何切换到Ubuntu系统上来

上篇讲到,使用Ubuntu系统能让人带来积极的影响,那么如何使用上这个系统呢?其实很多时候,不是不会安装的技术问题,而是意愿或者心理障碍的问题。 以下是我使用ubuntu系统一年半的经验,相信经过这三部分的介绍,可以帮助你了解linux系统的最新进展,克服使用困难,使用上U…

SpringCloud全家桶---常用微服务组件(1)

注册中心: *作用: 服务管理 Eureka(不推荐)[读音: 优瑞卡] Nacos(推荐) Zookeeper [读音: 如k波] Consul [读音:康寿] **注册中心的核心功能原理(nacos)** 服务注册: 当服务启动时,会通过rest接口请求的方式向Nacos注册自己的服务 服务心跳: NacosClient 会维护一个定时心跳持…

基于SpringBoot的教师宿舍管理系统设计与实现(源码+调试)

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于SpringBoot的教师宿…

盘点被吹爆的桌面便签小工具

桌面便签小工具有很多&#xff0c;任何一款桌面便签小工具都有它的优缺点&#xff0c;而那些被吹爆了好用的桌面便签小工具往往是优点远多于缺点&#xff0c;从而深受用户的喜爱&#xff0c;今天我们来给大家盘点一款被很多行业吹爆了的桌面便签小工具&#xff1a;好用便签。 …

高盛:日本这轮通胀是否可持续,关键看房租

租金在日本CPI中的权重高达20%&#xff0c;高盛预计短期内租金将继续拖累通胀至1.7%或以下&#xff0c;长期有望温和上行&#xff0c;使通胀稳在2%的水平。 日本正在转向“去通缩”&#xff0c;房租能否支撑通胀态势&#xff1f; 在日股今年一路高歌、有望“收复失地”时&…

openEuler2203 LTS安装VMware WorkStation Pro 17并远程桌面连接Linux服务器

openEuler 2203 LTS默认只有命令行&#xff0c;没有GUI图形界面&#xff0c;在其中安装VMware WorkStation需要有图形界面的支持。这里以安装深度的DDE桌面环境&#xff0c;最后通过VNC远程桌面连接Linux服务器操作VMware WorkStation。 以下操作请保持网络能正常连接 1、安装…

零到大师:嵌入式Linux学习书单分享

大家好&#xff0c;我是知微&#xff01; 上一篇推荐的书单嵌入式软件必读10本书_单片机篇&#xff0c;收到反响很好。再推荐一篇嵌入式Linux相关的书单。 《鸟哥的Linux私房菜》 鸟哥的Linux系列适合零基础小伙伴&#xff0c;从电脑基础到文件系统、shell脚本等等&#xff…

LabVIEW多场景微振动测试平台与教学应用

LabVIEW多场景微振动测试平台与教学应用 在多种工程实践中&#xff0c;微振动的测试与分析对于评估结构的稳定性及其对环境的影响至关重要。针对这一需求&#xff0c;开发了一套基于NI-cDAQ和LabVIEW的多场景微振动测试平台&#xff0c;提高微振动测试的精确度与灵活性&#x…

游戏平台如何定制开发?

随着科技的飞速发展和互联网的普及&#xff0c;游戏平台已成为人们休闲娱乐的重要选择。为了满足用户多样化的需求&#xff0c;游戏平台的定制开发显得尤为重要。本文将探讨游戏平台定制开发的过程、关键要素以及注意事项&#xff0c;为有志于涉足此领域的开发者提供参考。 一、…

【踩坑专栏】主机ping虚拟机失败

我出现的问题finalshell连接超时&#xff0c;ping了一下发现ping都ping不通&#xff0c;于是发现问题所在。 最开始我是把虚拟机的网络设置改为桥接模式&#xff0c;问题解决了&#xff0c;但是这种模式的问题就是每次开机&#xff0c;ip都会改变&#xff0c;因此非常麻烦&…

消息中间件之RocketMQ源码分析(十二)

Namesrv启动流程 Broker启动流程 BrokerStartup.java类主要负责为真正的启动过程做准备&#xff0c;解析脚本传过来的参数&#xff0c;初始化Broker配置&#xff0c;创建BrokerController实例等工作。BrokerController.java类是Broker的掌控者&#xff0c;它管理和控制Broker的…