2021ccpc女生赛(山东淄博)

2023-11-18


补题链接
这一次的开题顺序有点不好,G这个最简单的题目一开始没有开出来,然后开了另一个结果题目有点一个点读漏了,然后就做的复杂了一点,虽然a了,同是五道题,贯穿银铜铁,所以这是一场手速题,麻了,考试之前一直在弄线段树,这次没有,笑死。这一次只拿了一个铜,下次一定!目标金!!加油!

G、3G网络

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    cin>>n;
    int x,y;
    for(int i=0;i<n;i++)
        cin>>x>>y;
        double ans=1.0*n;
        printf("%.12lf",1.0/ans);
        return 0;

}

K、音乐游戏

#include <bits/stdc++.h>
using namespace std;
char s[10];
int main()
{
    int n;
    cin>>n;
    int ans=0;
    for(int i=0;i<n;i++)
    {
        getchar();
        cin.getline(s,7);
       // cout<<s<<endl;
        for(int j=0;j<6;j++)
            if(s[j]=='-')
            ans++;
    }
    cout<<ans;
        return 0;
}

D、修建道路

#include <bits/stdc++.h>
using namespace std;
const int N=200005;
int a[N];
int main()
{
   int n;
   cin>>n;
   long long ans=0;
   for(int i=0;i<n;i++)
    cin>>a[i];
   for(int i=0;i<n-1;i++)
   {
       ans+=max(a[i],a[i+1]);
   }
   cout<<ans<<endl;
        return 0;
}

A、公交线路

#include <bits/stdc++.h>
using namespace std;
int a[10];
int main()
{
    int n,m,x,y;
    cin>>n>>x>>y;
    int fl=1,fr=1;
    for(int i=1;i<=n;i++)
        cin>>a[i];
    cin>>m;
    for(int i=1;i<=m;i++)
    {
        int k;
        cin>>k;
        if(a[x+i]==k&&a[x-i]!=k)
        {
            fr=0;//往右边走
            break;
        }
        else if(a[x-i]==k&&a[x+i]!=k)
        {
            fl=0;
            break;
        }
        else if(a[x-i]!=k&&a[x+i]!=k)
        {
            fl=1;
            fr=1;
            break;
        }


    }
    if(y<x)
    {
        if(fl==0&&fr!=0)
            cout<<"Right"<<endl;
            else if(fl!=0&&fr==0)
                cout<<"Wrong"<<endl;
            else cout<<"Unsure"<<endl;
    }
    if(y>x)
    {
        if(fl==0&&fr!=0)
            cout<<"Wrong"<<endl;
            else if(fl!=0&&fr==0)
                cout<<"Right"<<endl;
            else cout<<"Unsure"<<endl;
    }
        return 0;
}

I、驾驶卡丁车

#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[60][60];
int q;
int xi,yi;
int f=1,v;
int main(){
    scanf("%d %d",&n,&m);
    for(int i=1;i<=n;i++){
        getchar();
        for(int j=1;j<=m;j++){
            char x;
            scanf("%c",&x);
            if(x=='.')a[i][j]=0;
            else if(x=='*'){
                a[i][j]=0;
                xi=i;yi=j;
            }
            else if(x=='#')a[i][j]=1;
        }
    }
    scanf("%d",&q);
    getchar();
    for(int i=1;i<=q;i++){
        char x;
        scanf("%c",&x);
        if(x=='L')f=f%8+1;
        else if(x=='R'){
            if(f==1)f=8;
            else f--;
        }
        else if(x=='U')v++;
        else if(x=='D')v=max(v-1,0);
        bool flag=false;
        int j;
        if(f==1){
            for(j=1;j<=v;j++){
                int x=xi-1,y=yi;
                if(x<1){
                    v=0;
                    flag=true;
                    break;
                }
                if(a[x][y]==1){
                    v=0;
                    flag=true;
                    break;
                }
                xi=x;yi=y;
            }
        }
        else if(f==3){
            for(j=1;j<=v;j++){
                int x=xi,y=yi-1;
                if(y<1){
                    v=0;
                    flag=true;
                    break;
                }
                if(a[x][y]==1){
                    v=0;
                    flag=true;
                    break;
                }
                xi=x;yi=y;
            }
        }
        else if(f==5){
            for(j=1;j<=v;j++){
                int x=xi+1,y=yi;
                if(x>n){
                    v=0;
                    flag=true;
                    break;
                }
                if(a[x][y]==1){
                    v=0;
                    flag=true;
                    break;
                }
                xi=x;yi=y;
            }
        }
        else if(f==7){
            for(j=1;j<=v;j++){
                int x=xi,y=yi+1;
                if(y>m){
                    v=0;
                    flag=true;
                    break;
                }
                if(a[x][y]==1){
                    v=0;
                    flag=true;
                    break;
                }
                xi=x;yi=y;
            }
        }
        else if(f==2){
            for(j=1;j<=v;j++){
                int x=xi-1,y=yi-1;
                if(x<1||y<1){
                    v=0;
                    flag=true;
                    break;
                }
                if(a[x][y]==1){
                    v=0;
                    flag=true;
                    break;
                }
                else if(xi-1>=1&&yi-1>=1){
                    if(a[xi-1][yi]==1&&a[xi][yi-1]==1){
                         v=0;
                         flag=true;
                         break;
                    }
                }
                xi=x;yi=y;
            }
        }
        else if(f==4){
            for(j=1;j<=v;j++){
                int x=xi+1,y=yi-1;
                if(x>n||y<1){
                    v=0;
                    flag=true;
                    break;
                }
                if(a[x][y]==1){
                    v=0;
                    flag=true;
                    break;
                }
                else if(xi+1<=n&&yi-1>=1){
                    if(a[xi+1][yi]==1&&a[xi][yi-1]==1){
                         v=0;
                         flag=true;
                         break;
                    }
                }
                xi=x;yi=y;
            }
        }
        else if(f==6){
            for(j=1;j<=v;j++){
                int x=xi+1,y=yi+1;
                if(x>n||y>m){
                    v=0;
                    flag=true;
                    break;
                }
                if(a[x][y]==1){
                    v=0;
                    flag=true;
                    break;
                }
                else if(xi+1<=n&&yi+1<=m){
                    if(a[xi+1][yi]==1&&a[xi][yi+1]==1){
                         v=0;
                         flag=true;
                         break;
                    }
                }
                xi=x;yi=y;
            }
        }
        else if(f==8){
            for(j=1;j<=v;j++){
                int x=xi-1,y=yi+1;
                if(x<1||y>m){
                    v=0;
                    flag=true;
                    break;
                }
                if(a[x][y]==1){
                    v=0;
                    flag=true;
                    break;
                }
                else if(xi-1>=1&&yi+1<=m){
                    if(a[xi-1][yi]==1&&a[xi][yi+1]==1){
                         v=0;
                         flag=true;
                         break;
                    }
                }
                xi=x;yi=y;
            }
        }
        if(flag)printf("Crash! %d %d\n",xi,yi);
        else printf("%d %d\n",xi,yi);
    }
    return 0;
}

C、连锁商店

任意门
较有难度一点题就是C题,由于自己不是负责dp这方面,所以还没有开始学,等自己学了dp,再来补这一题!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2021ccpc女生赛(山东淄博) 的相关文章

随机推荐

  • 第3讲 Camera Sensor 数据流

    Camera Sensor Block Camera Sensor Output Format raw8 一个像素点用8bit来表示 范围0 256 raw10 一个像素点用10bit来表示 范围0 1024 raw12 一个像素点用12b
  • 数字化转型需要解决的五大问题

    更多专业文档请访问 www itilzj com 数字化 数字中国被列为十四五规划的核心之一 数字经济席卷各行各业 新一轮的商业马拉松枪声已经响起 无形的革新重塑着商业大环境 也赋予了我们丰富的想象空间 数字化转型需要解决的问题包括 1 解
  • Unity --- 文本的使用

    1 先讲讲legacy 旧版 的文本text 在一个画布上创建一个文本 这个文本也是一个游戏物体 且是画布的子物体 上面这个就是文本的inspector界面 在字体参数处我们可以点开框框选择新的字体资源 前提是我们有导入这个字体资源 行间距
  • MySQL之添加联合唯一索引

    一 联合唯一索引 项目中需要用到联合唯一索引 例如 有以下需求 每个人每一天只有可能产生一条记录 处了程序约定之外 数据库本身也可以设定 例如 t aa 表中有aa bb两个字段 如果不希望有2条一模一样的记录 即 aa字段的值可以重复 b
  • visio2016上下标

    之前的visio版本是有上下标的快捷按钮的 但是在visio2016中没有了 需要选中文字之后在 字体 选项卡 点击右下角的小箭头 在 位置 中选择上下标 或者使用快捷键 选中要成为上标的文字 ctrl shift 选中要成为下标的文字 c
  • Windows下修改VSCode工作区存储目录workspaceStorage

    VSCode会将每个工作区的一些配置 扩展 缓存等保存在一个默认的目录 在Windows下 此默认目录为 AppData Code User workspaceStorage 当存在多个工作空间或扩展时 需要使用大量的磁盘空间 而VSCod
  • EMC经典问答85问(75-77问)

    75 某个手持测试产品 可以电池供电 同时也可以采取外置适配器供电方式 适配器单独带负载辐射发射 RE 测试可以通过 手持产品在电池供电情况下辐射发射 RE 也可以通过 并且余量都比较大 但是在带外置适配器的情况下 却在 160M 频率左右
  • 23种设计模式概述

    设计模式共有23种 创建型模式5种 结构型模式7种 行为型模式11种 本章只做概念性说明 一 创建型模式 01 工厂模式 定义 又叫做静态工厂方法 定义一个用于创建对象的接口 让子类决定实例化哪一个类 工厂模式使得一个类的实例化延迟到子类
  • Unity笔记-打飞碟游戏

    目的 创建一个打飞碟游戏 简陋 游戏要求 游戏要分多个 round 飞碟数量每个 round 都是 n 个 但色彩 大小 发射位置 速度 角度 每次发射数量可以变化 游戏过程中 仅能创建 n 个飞碟 且不容许初始化阶段生成任何飞碟 飞碟线路
  • windows关闭开机自启动

    如题 有时候windows软件会开机自动打开某些软件 当你不希望它开机自启动的时候 就需要进行设置不让它开机自动 下面介绍几个方法关闭开机自启动 一 通过指令集进行设置 按下电脑上的windows R 然后输入msconfig 点击确定 可
  • 虚拟机硬盘简简单单扩容

    今天写这个博客就是为了 以后各位午饭们在使用虚拟机为虚拟机硬盘扩容时 不要再走那么多弯路了 环境介绍 虚拟机 VMware Workation 8 操作系统 windows server 2008 硬盘容量 10G windows serv
  • 4.Docker--Consul

    Docker Consul 引言 Consul是HashiCorp公司推出的开源工具 Consul由Go语言开发 部署起来非常容易 只需要极少的可执行程序和配置文件 具有绿色 轻量级的特点 Consul是分布式的 高可用的 可横向扩展的用于
  • 计算机运行慢提速小技巧,教你为Win7系统加速的五个技巧

    在我们使用电脑久了之后 不少用户就会发现系统的运行速度变慢了好多 这有可能是因为电脑使用久了之后电脑里面就会残余有一些垃圾文件 过多的垃圾文件占用了系统盘就会影响电脑的运行速度 那么用户可以选择使用第三方软件对电脑进行优化之外 还可以选择对
  • Python 接口并发测试详解

    一 接口并发测试简介 1 性能测试简介 性能测试是通过自动化测试工具模拟多种正常 峰值及异常负载条件对系统的各项性能指标进行的测试 负载测试和压力测试都属于性能测试 两者可以结合进行 通过负载测试 确定在各种工作负载下系统的性能 目标是测试
  • 发现新大陆

    csdn很久没有发博客了 当发现博客园可以进行一些骚操作之后 而CSDN又存在很多限制 相比较下 毅然选择了博客园 博主博客园首页链接地址 https www cnblogs com twq46 如果有想继续看博主的分享可以访问该链接
  • python opencv卡尺测量边缘距离

    opencv 卡尺法 测量边缘距离 参考来源 https github com crackwitz metrology demo 前言 一 测量方法 二 测量步骤 1 获取直线的像素 2 高斯滤波平滑曲线 3 计算跳变幅度值 4 计算距离值
  • 赶上ChatGPT的车,百度文心一言和阿里通义千问上线

    百度 文心一言 地址 https yiyan baidu com 阿里 通义千问 地址 https tongyi aliyun com 以下介绍来自官方 一 文心一言 介绍 你好 我是文心一言 ERNIE Bot 作为一个人工智能语言模型
  • Web3领域中最值得关注的3大主题

    这是白话区块链的第1792期原创 作者 Tony编译 火火出品 白话区块链 ID hellobtc 2014年 以太坊联合创始人加文 伍德 Gavin Wood 提出Web 3 0概念 将其描述为一种全新的互联网运行模式 用户自己发布 保管
  • Default Activity not found解决方法

    项目场景 最近开始学习Android 第一次尝试建立一个空白项目 手动添加activity时出现报错 Default Activity not found 问题描述 运行时程序可以正常编译 但不能发布到AVD上 查看了几篇博文 发现这篇方法
  • 2021ccpc女生赛(山东淄博)

    G 3G网络 K 音乐游戏 D 修建道路 A 公交线路 I 驾驶卡丁车 C 连锁商店 补题链接 这一次的开题顺序有点不好 G这个最简单的题目一开始没有开出来 然后开了另一个结果题目有点一个点读漏了 然后就做的复杂了一点 虽然a了 同是五道题