首页 > 编程语言 >北京理工大学第十七届程序设计竞赛决赛

北京理工大学第十七届程序设计竞赛决赛

时间:2024-06-16 15:43:02浏览次数:10  
标签:决赛 int 第十七届 cin long 北京理工大学 solve ans define

A. 赛前须知
输出ACACACACAC即可

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long

int main(){
    std::ios::sync_with_stdio(0);
    std::cin.tie(0);
    string s="ACACACACAC";
    for(int i=0;i<s.size();i++) cout<<s[i]<<endl;
    return 0;
}

G. 小P玩钢4
1.先在输入的时候计算有多少个1,即本身需要花费的代价
2.然后再遍历一次,计算每个1周围有多少个1,ans加上相应的数量,把这个遍历过的1赋值为0,这样做的原理是因为,一个联通块1你从哪个点开始去遍历,要计算这个块总体的每个1(遍历过后改为0)周围有多少个1结果是一样的

点击查看代码
#include <bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
typedef pair<int,int> pii;
int dx[]={0,1,-1,0};
int dy[]={-1,0,0,1};

void solve()
{
    int n,m,ans=0;
    cin>>n>>m;
    int a[n][m];
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++) 
        {
            cin>>a[i][j];
            if(a[i][j]==1) ans++;
        }
    }
    
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            
            if(a[i][j]==1)
            {
               for(int k=0;k<4;k++)
               {
                   int xx=i+dx[k],yy=j+dy[k];
                   if(a[xx][yy]==1&&xx>=0&&xx<n&&yy>=0&&yy<m){
                       ans++;
                     
                   }
               }
                a[i][j]=0;
            }
        }
    }
    
    cout<<ans;
    
    
}


signed main()
{
    ios::sync_with_stdio(0),cin.tie(0);
    int t=1;
    //cin>>t;
    while(t--) solve();
    return 0;
}

K. str进制

简单的模拟进制,取余,整除,翻转即可

点击查看代码
#include <bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
typedef pair<int,int> pii;
int dx[]={0,1,-1,0};
int dy[]={-1,0,0,1};

void solve()
{
    int n,m;
    cin>>n>>m;
    string s; cin>>s;
    int d; cin>>d;
    
    string ans;
    for(int i=n-1;i>=0;i--)
    {
        ans+=(d%(s[i]-'0'))+'0';
        d/=(s[i]-'0');
    }
    reverse(ans.begin(),ans.end());
    cout<<ans;
    
}


signed main()
{
    ios::sync_with_stdio(0),cin.tie(0);
    int t=1;
    //cin>>t;
    while(t--) solve();
    return 0;
}

M. 小H的糖果
1.每次只允许改一个字母,然后要我们找出只改一次后的最大字典序的字符串
2.直接暴力,从头开始截取子串,找到第一个不是z的,将其改字母为z,然后比较找到最大的即可

点击查看代码
#include <bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
typedef pair<int,int> pii;
int dx[]={0,1,-1,0};
int dy[]={-1,0,0,1};

void solve()
{
    int n; cin>>n;
    string s; cin>>s;
    string ans=s;
    for(int i=0;i<n;i++)
    {
        string sb=s.substr(i);
        for(int j=0;j<sb.size();j++)
        {
            if(sb[j]!='z') 
            {
                sb[j]='z';
                break;
            }
        }
        if(sb>ans) ans=sb;
    }
    cout<<ans;
    
}


signed main()
{
    ios::sync_with_stdio(0),cin.tie(0);
    int t=1;
    //cin>>t;
    while(t--) solve();
    return 0;
}

J. pass
1.a>w,路面宽度大于车底盘宽度,可以直接过
2.a<w, 当w<=b的时候车最极端是竖起来肯定不行,所以是-1,当w>b的时候,我们算w在地面上的投影,l=sqrt(w*w-b * b ),如果l<=a,说明车的右端可以在墙顶面的最左侧,轮胎高度理想化四舍五入为0,如果l>a,则车的左端应该在路面的最最左侧,我们延伸这个底面这条线至地面,在地上两个直角三角形相似得结果,小直角三角形的斜边就是l-a

点击查看代码
using namespace std;
#define int long long 
typedef pair<int,int> pii;
#define all(v) v.begin(),v.end()


void solve()
{
	int a,b,h,w;//a为路宽,b为墙高,h为车高,w为车宽 
	cin>>a>>b>>h>>w;
	double ans=0;
	if(a>w) ans=0;
	else {
		if(w<=b) ans=-1; 
		else {
			double l=sqrt(w*w-b*b);
			if(l<=a) ans=0;
			else ans=(b*(l-a))/w;
		}
		
	}
	if(ans!=-1)	cout<<fixed<<setprecision(10)<<ans<<endl;
	else cout<<-1<<endl;
}


signed main()
{
	
    int t=1;
   	cin>>t;
    while(t-- ) solve();
    return 0;
}

标签:决赛,int,第十七届,cin,long,北京理工大学,solve,ans,define
From: https://www.cnblogs.com/swjswjswj/p/18250688

相关文章

  • 第十一届蓝桥杯大赛软件类决赛 Java A 组
    文章目录发现宝藏【考生须知】发现宝藏前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。第十一届蓝桥杯大赛软件类决赛JavaA组【考生须知】考试开始后,选手首先下载题目,并使用考场现场公布的解压密码......
  • 晋级决赛 | 璞华龙舟队:驰骋双湖展雄风,龙舟“浪”出新高度!
    “金荡杯”第三届江苏省传统龙舟邀请赛6月2日,“金荡杯”第三届江苏省传统龙舟邀请赛(鹅湖站)在风景如画的鹅湖畔火热开赛。碧波荡漾的湖面上,数条龙舟犹如一条条巨龙,蓄势待发,准备在比赛中一展风采。随着鼓声雷动,龙舟如箭在弦,竞相冲向终点,上演了一场场激动人心的水上竞技。“龙......
  • 第十一届蓝桥杯大赛软件类决赛 Java B 组
    文章目录发现宝藏【考生须知】试题A:美丽的2试题B:扩散试题C:阶乘约数试题D:本质上升序列试题E玩具蛇试题F蓝肽子序列试题G皮亚诺曲线距离试题H:画廊试题I:补给试题J质数行者发现宝藏前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍......
  • 2024铁三决赛专项题-zip_guessinteger
    2024铁三决赛专项题-zip_guessinteger简介:ZIP包竟然加密了,快上我的暴力破解工具。难道我需要一个量子算力吗?能否使点巧力猜猜?需要使用的工具:bkcrack工具地址:https://github.com/kimci86/bkcrack题目附件上玄机自取:https://xj.edisec.net1.第一层​echo-n'breakthr......
  • buuctf-pwn-[第五空间2019 决赛]PWN5-格式化字符串漏洞
    题目地址:https://buuoj.cn/challenges#[第五空间2019决赛]PWN5先检查一下保护情况再拖进ida里分析找到一个格式化字符串漏洞,那么我们可以利用这个漏洞去获取或者改写dword_804C044的值从而进入if语句中,拿到shell什么是格式化字符串漏洞所谓格式化字符串漏洞,就是我们能控......
  • 第十一届蓝桥杯C/C++组C组决赛之思维风暴 快速解题
    十五届蓝桥杯即将开赛,十一届的蓝桥杯国赛的一些巧妙解法。美丽的2 题目描述本题为填空题,只需要算出结果后,在代码中使用输出语包将所填结果输出即可。小蓝特别喜欢2,今年是公元2020年,他特别高兴。他很好奇,在公元1年到公元2020年(包含)中,有多少个年份的数位中包含数字2?......
  • 30万奖金谁能瓜分?OurBMC开源大赛决赛入围名单公示
    首届开放原子开源大赛基础软件赛道自今年1月开启报名以来,吸引了全国各地BMC技术爱好者的广泛关注和踊跃报名。该赛事由开放原子开源基金会牵头,OurBMC社区及理事长单位飞腾信息技术有限公司联合承办,以“基于BMC技术的服务器故障诊断与预测平台设计”为赛题,旨在推进BM......
  • P8201 [传智杯 #4 决赛] [yLOI2021] 生活在树上(hard version)
    P8201[传智杯#4决赛][yLOI2021]生活在树上(hardversion)结论+离线询问或结论+主席树结论通过画图不难得出,树上任意一个点到\(u\)和\(v\)的路径的并一定包含\(u\)到\(v\)的路径,并且任意一个点到\(u\)和\(v\)的路径的重叠部分与\(u\)到\(v\)的路径有且......
  • 约瑟夫环【第九届】【决赛】【C组】
             n个人的编号是1~n,如果他们依编号按顺时针排成一个圆圈,        从编号是1的人开始顺时针报数。     (报数是从1报起)当报到k的时候,这个人就退出游戏圈。下一个人重新从1开始报数。求最后剩下的人的编号。这就是著名的约瑟夫环问题。......
  • 2017天梯赛总决赛:L1-8 矩阵A乘以B
    题目描述给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra​行、Ca​列,B有Rb​行、Cb​列,则只有Ca​与Rb​相等时,两个矩阵才能相乘。输入格式:输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R......