学习总结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';
            else
                g[x+1]='*';
            z++;
        }
    }
    printf("%d",z);
    return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

尚未创建默认 SSL 站点。若要支持不带 SNI 功能的浏览器,建议创建一个默认 SSL 站点。

在 Windows Server 2012 IIS 站点中设置 SSL 证书后&#xff0c;IIS 右上角提示&#xff1a; 尚未创建默认 SSL 站点。若要支持不带 SNI 功能的浏览器&#xff0c;建议创建一个默认 SSL 站点。 该提示客户忽略不管&#xff0c;但是若要支持不带 SNI(Server Name Indication)…

外卖柜平台的设计与实现以及实践与总结

近年来&#xff0c;外卖行业的快速发展推动了外卖配送行业的进步和创新。外卖柜平台作为一种新兴的配送方式&#xff0c;在提高配送效率和服务质量方面具有很大的优势。本文将探讨美团外卖柜平台的设计与实现&#xff0c;以及如何保障其稳定性和安全性。 架构设计 美团外柜平台…

React -- useEffect

React - useEffect 概念理解 useEffect是一个React Hook函数&#xff0c;用于在React组件中创建不是由事件引起而是由渲染本身引起的操作&#xff08;副作用&#xff09;, 比 如发送AJAX请求&#xff0c;更改DOM等等 :::warning 说明&#xff1a;上面的组件中没有发生任何的用…

市场复盘总结 20240222

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率中 25% 最常用…

leetcode日记(32)字符串相乘

做了很久很久……真的太繁琐了&#xff01;&#xff01; class Solution { public:string multiply(string num1, string num2) {string s;string str;if (num1 "0" || num2 "0") return "0";for(int inum2.size()-1;i>0;i--){int c2num2[…

银行项目网上支付接口调用测试实例

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 公司最近有一个网站商城项目要开始开发了&#xff0c;这几天老板和几个同事一起开着需求会议&…

常见消息中间件

ActiveMQ 我们先看ActiveMQ。其实一般早些的项目需要引入消息中间件&#xff0c;都是使用的这个MQ&#xff0c;但是现在用的确实不多了&#xff0c;说白了就是有些过时了。我们去它的官网看一看&#xff0c;你会发现官网已经不活跃了&#xff0c;好久才会更新一次。 它的单机吞…

2024 ,Android 15 预览版来了

日前&#xff0c;Android 15 发布了 Preview 1 预览版&#xff0c;预览计划将从 2024 年 2 月持续到 Android 15 公开发布&#xff08;预计 10 月&#xff09;&#xff0c;3月是开发者预览版 2&#xff0c;4 月将推出 Beta 1&#xff0c;5 月将推出 Beta 2&#xff0c;6 月的 B…

Studio One 6免费下载安装激活教程

一、Studio One 6安装 1.双击Studio One6安装包&#xff08;见文章尾部&#xff09;&#xff0c;如下图&#xff0c;可以切换语言&#xff0c;点击【OK】。 2.根据安装导航&#xff0c;点击【下一步】 3.阅读许可证协议后&#xff0c;点击【我接受】。 4.选择安装位置&#xf…

Java 数据结构篇-深入了解排序算法(动态图 + 实现七种基本排序算法)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 实现冒泡排序 2.0 实现选择排序 2.1 选择排序的改良升级 3.0 实现堆排序 4.0 实现插入排序 5.0 实现希尔排序 6.0 实现归并排序 6.1 递归实现归并排序 6.2 使用…

用了大品牌做流量,用自主品牌做利润。

用国际品牌和有品牌的产品把用户数量做起来&#xff0c;用大品牌做流量&#xff0c;积累用户数据。当你的用户数量达到一定量之后&#xff0c;再做自主品牌&#xff0c;这叫水到渠成。 用户最好的商业模式不需要教育。用别人的品牌去打穿流量&#xff0c;打穿用户&#xff0c;…

SpringBoot基于JWT的token做登录认证

背景 我们在基于Session做登录认证的时候&#xff0c;会有一些问题&#xff0c;因为Session存储到服务器端&#xff0c;然后通过客户端的Cookie进行匹配&#xff0c;如果正确&#xff0c;则通过认证&#xff0c;否则不通过认证。这在简单的系统中可以这么使用&#xff0c;并且…

如何重启docker中运行的镜像

要重启 Docker 中运行的容器&#xff0c;您可以使用 docker restart 命令。首先&#xff0c;您需要知道容器的 ID 或名称&#xff0c;然后使用该信息来重启容器。以下是具体步骤&#xff1a; 找出容器的 ID 或名称 执行 docker ps 命令列出所有正在运行的容器&#xff0c;找到您…

软件常见设计模式

设计模式 设计模式是为了解决在软件开发过程中遇到的某些问题而形成的思想。同一场景有多种设计模式可以应用&#xff0c;不同的模式有各自的优缺点&#xff0c;开发者可以基于自身需求选择合适的设计模式&#xff0c;去解决相应的工程难题。 良好的软件设计和架构&#xff0…

vite是什么

vite 是什么 vite —— 一个由 vue 作者尤雨溪开发的 web 开发工具 Vite由两个主要部分组成 dev server&#xff1a;利用浏览器的ESM能力来提供源文件&#xff0c;具有丰富的内置功能并具有高效的HMR生产构建&#xff1a;生产环境利用Rollup来构建代码&#xff0c;提供指令用…

SpringIOC之support模块StaticApplicationContext

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

vmware的ubuntu虚拟机因空间满无法启动

正在虚拟机编译android源代码&#xff0c;没注意空间不足&#xff0c;结果回来发现了 Assuming drive cache: write through 的问题&#xff0c;经查是空间不足的原因 按照这个教程&#xff0c;清除出来部分空间&#xff0c;才能进去系统&#xff0c;并且对系统空间做下优化 …

测试总监,让我们用这份《测试用例规范》,再也没加班过

经常看到无论是刚入职场的新人&#xff0c;还是工作了一段时间的老人&#xff0c;都会对编写测试用例感到困扰&#xff1f;例如&#xff1a; 固然&#xff0c;编写一份好的测试用例需要&#xff1a;充分的需求分析能力 理论及经验加持&#xff0c;作为测试职场摸爬打滚的老人…

GitHub热门项目之Memos 打造私有备忘录

效果 1. 写备忘录或简单笔记&#xff0c;支持Markdown 2. 时间线 3. 探索可以看到其他用户公开的内容 项目地址 usememos/memos&#xff1a;一种开源的轻量级笔记服务。轻松捕捉和分享您的伟大想法。 (github.com)https://github.com/usememos/memos 体验地址 Memoshttp://…

2000-2022年各省环境规制数据(原始数据+计算过程+计算结果)

2000-2022年各省环境规制数据&#xff08;原始数据计算过程计算结果&#xff09; 1、时间&#xff1a;2000-2022年 2、范围&#xff1a;30省 3、来源&#xff1a;各省年鉴、国家统计局、统计年鉴 4、指标&#xff1a;年份、省份、工业污染源治理投资完成实际额、工业增加值…