学习总结22

news2024/9/24 5:33:38

解题思路

简单模拟。

代码

#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;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++类和对象新手保姆级上手教学(下)

目录 前言&#xff1a; 初始化列表&#xff1a; explicit关键字&#xff1a; static成员&#xff1a; 友元函数&#xff1a; 友元类&#xff1a; 内部类&#xff1a; 匿名对象&#xff1a; 前言&#xff1a; 类和对象下篇中剩余的部分较为简单易理解&#xff0c;认真记住…

三opencv源码解压及环境变量配置

1.双击opencv-3.4.6-vc14-vc15.exe 2.选择解压的路径&#xff0c;点击【extract】 3.设计环境变量

05.STLvector、list、stack、queue

STL标准模板库 standard template library STL将原来常用的容器和操作进行封装&#xff0c;增加了C的编码效率 容器 string #include vector #include list #include stack #include queue #include set #include map #include 迭代器 容器和算法之间的粘合剂&#xff0…

【海贼王的数据航海:利用数据结构成为数据海洋的霸主】时间复杂度 | 空间复杂度

目录 1 -> 算法效率 1.1 -> 如何衡量一个算法的好坏&#xff1f; 1.2 -> 算法的复杂度 2 -> 时间复杂度 2.1 -> 时间复杂度的概念 2.2 -> 大O的渐进表示法 2.3 -> 常见时间复杂度计算 3 -> 空间复杂度 4 -> 常见复杂度对比 1 -> 算法效…

数字化转型导师坚鹏:数字政府技术、业务、数据融合发展路径探索

数字政府建设与发展研究 ——技术、业务、数据融合发展路径探索 课程背景&#xff1a; 很多政府存在以下问题&#xff1a; 不清楚数字政府建设内涵 不清楚数字政府建设现状 不清楚数字政府融合路径 课程特色&#xff1a; 有实战案例 有原创观点 有精彩解读 学…

来分析两道小题

一、源码 二、分析 首先它会接两个参数一个是id一个是ps&#xff0c;传递的话会包含一个flag.php&#xff0c;然后数据库连接&#xff0c;之后传递过滤&#xff0c;然后查询&#xff0c;如果查到了就会取id&#xff0c;取出来看是不是跟adog一样&#xff0c;如果是它告诉你账号…

Imagewheel私人图床搭建结合内网穿透实现无公网IP远程访问教程

文章目录 1.前言2. Imagewheel网站搭建2.1. Imagewheel下载和安装2.2. Imagewheel网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar临时数据隧道3.2.Cpolar稳定隧道&#xff08;云端设置&#xff09;3.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 4.公网访问测…

四年功能测试,测试工作吐槽

这篇文章基于中小公司的工作经验&#xff0c;中小厂的测试流程往往没有大厂那么规范&#xff0c;也会遇到很多挑战&#xff0c;来看下他是怎么解决的 问题一&#xff1a;测试时间评估 这是一个工作日常经常需要回复的问题&#xff0c;理论上 测试这边要做出较科学合理的回复&…

Flutter学习4 - Dart数据类型

1、基本数据类型 num、int、double &#xff08;1&#xff09;常用数据类型 num类型&#xff0c;是数字类型的父类型&#xff0c;有两个子类 int 和 double 通过在函数名前加下划线&#xff0c;可以将函数变成私有函数&#xff0c;私有函数只能在当前文件中调用 //常用数据…

2024 财源(裁员)广进(鸿蒙开发岗)~

2023已过去了&#xff0c;2024大家都在期待经济复苏起来&#xff0c;但并没有起来&#xff0c;倒是第一波 “裁员潮”突然来袭&#xff1a; 这一波突然袭击&#xff0c;使得一些年后想换工作的人不敢轮乱动了&#xff0c;真不知道哪一天起床就失业了 今年我已经接到了太多粉丝…

力扣OJ题——随机链表的复制

题目&#xff1a; 138. 随机链表的复制 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 要求&#xff1a;构造这个链表的 深拷贝 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中…

LabVIEW多通道压力传感器实时动态检测

LabVIEW多通道压力传感器实时动态检测 介绍了一种基于LabVIEW的多通道压力传感器实时动态检测系统&#xff0c;解决压阻式压力传感器温度补偿过程的复杂度&#xff0c;提高测量的准确性。通过自动轮询检测方法&#xff0c;结合硬件检测模型和多通道检测系统设计&#xff0c;本…

【动态规划专栏】专题三:简单多状态dp--------3.删除并获得点数

本专栏内容为&#xff1a;算法学习专栏&#xff0c;分为优选算法专栏&#xff0c;贪心算法专栏&#xff0c;动态规划专栏以及递归&#xff0c;搜索与回溯算法专栏四部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小…

ios抓包Tunnel to......443

fiddler官网下载“CertMaker for iOS and Android”插件&#xff0c;官网插件&#xff1a;https://www.telerik.com/fiddler/add-ons 双击运行插件后&#xff0c;重启fiddler&#xff0c;ios重新安装证书即可

九州金榜|家庭教育小技巧

家庭教育对于孩子的发展至关重要&#xff0c;家长一定要重视孩子在家里的举动&#xff0c;同样孩子犯错&#xff0c;对于孩子批评也是有一定技巧&#xff0c;下面九州金榜家庭教育给大家分享一下关于在家庭教育中的一些小技巧&#xff0c;帮助大家怎样在家庭教育中面对孩子 1、…

字节一面 : post为什么会发送两次请求?

同源策略 在浏览器中&#xff0c;内容是很开放的&#xff0c;任何资源都可以接入其中&#xff0c;如 JavaScript 文件、图片、音频、视频等资源&#xff0c;甚至可以下载其他站点的可执行文件。 但也不是说浏览器就是完全自由的&#xff0c;如果不加以控制&#xff0c;就会出…

DPDK应该如何入门学习?

01 写在前面 我的读者当中应该有一部分人是做 DPDK 相关的&#xff0c;我自己虽然现在已经不做 DPDK 了&#xff0c;但对这块仍然有兴趣&#xff0c;今天这篇文章就来总结下 DPDK 的技术栈。注意&#xff1a;这篇文章是小白文&#xff0c;不适合大神哦。 文章从 DPDK 的产生背…

四.QT5工具安装和环境变量的配置

1.以管理员身份运行安装包 2.登录qt账号&#xff0c;点击【next】 3.选中同意 4.选择安装目录&#xff0c;注意不能有中文和空格 5.勾选 64位 mingw。点击【next】&#xff0c;等待安装完成 6.配置环境变量

QT基本组件

四、基本组件 Designer 设计师&#xff08;重点&#xff09; Qt包含了一个Designer程序&#xff0c;用于通过可视化界面设计开发界面&#xff0c;保存文件格式为.ui&#xff08;界面文件&#xff09;。界面文件内部使用xml语法的标签式语言。 在Qt Creator中创建文件时&#xf…

Java面向对象案例之家禽对象Poultry(3)

类主要结构图 抽象类&#xff1a;Poultry&#xff08;家禽作为父类&#xff09;子类&#xff1a;Chook&#xff08;鸡类&#xff09;、Duck&#xff08;鸭子类&#xff09;测试类&#xff1a;PoultryTest 类的方法图 代码示例 /*** 测试类*/ public class PoultryTest {public…