CUMT2020算法上机测试(2020-11-11)

这篇博客分享了CUMT2020算法上机测试的六道题目,包括红楼梦名录、薛宝钗探亲游西湖、贾宝玉梦回栊翠庵、林黛玉沁芳桥葬花、刘姥姥三进大观园和背包问题。题目涵盖了字符串比较、模拟、最优化和背包问题等,博主提供了样例输入和输出,并评论了每道题目的难度和解题思路。
摘要由CSDN通过智能技术生成

咳咳,发个博客造福后人。就这么一篇博客哈哈哈
CUMT CS学院的优良传统:前人栽树,后人乘凉
这次考试一共有6道题,6选5,5题分数就能给到100。
从题目来看,17级的出题学长挺仁慈的,不是很难。
虽然以后不一定会考一样的
大家看着玩玩~
代码经过考试测试都是对的咳咳。不会出锅。
最后说一句:韩老师,牛逼!

问题 A: 红楼梦名录

题目描述

两行。第一行一个名字,第二行一个名字。保证名字的长度不超过10000。保证两个名字不完全相等。保证名字均由英文字母组成。

输出

如果第一个名字更好,则输出YES,否则输出NO。

样例输入

BaoYu
DaiYu

样例输出

YES

签到题,这题做了就不会挂科了。

#include<bits/stdc++.h>
#define close ios::sync_with_stdio(false)
using namespace std;
int main()
{
   
    close;string s1,s2;
    cin>>s1>>s2;
    if(s1<s2) cout<<"YES\n";
    else cout<<"NO\n";
}

问题 B: 薛宝钗探亲游西湖

题目描述

薛宝钗回家探亲时,路过西湖。此时正值游玩高峰期,西湖有很多游客,他们都想要上船观光。宝钗想到,如果游客编号1-n,船的最大承重为S,第i个人的重量为w[i]。现在有若干次游客上下船的操作,那么整个过程中船所承受的最大总重量是多少呢?你能帮宝钗解决这个疑问吗?

输入

单组测试数据。

第一行输入三个整数n(1<=n<=20), m(1<=m<= 500 ) 和 S(1<=S<= 10000)。

接下来n行输入n名游客的重量w[i] (1<=w[i]<=1000)。

接下来m行,每行一个1到n之间的整数,表示游客的编号。表示该游客的上/下船,如果该游客已经在船上,那么该游客就下船,反之就上船。刚开始的时候所有游客都不在船上。

输出

输出一个整数表示整个上下船过程中,船所受到的最大重量。如果最大重量超过了船的最大承重,输出Wow。

样例输入

3 6 10
2
5
7
2
1
2
3
1
3

样例输出

9

基本的模拟题,按照题目的意思模拟走一遍就好。

#include<bits/stdc++.h>
#define close ios::sync_with_stdio(false)
using namespace std;
int n,m,s,maxnum=0;
int w[30],vis[30];
int solve()
{
   
    int ans=0;
    for(int i=1;i<=m;++i)
    {
   
        int id;cin>>id;
        if(vis[id]==0){
   
            vis[id]=1;
            ans+=w[id];
            if(ans>s) return -1;
            if(ans>maxnum) maxnum=ans; 
        }
        else{
   
            vis[id]=0;
            ans-=w[id];
        }
    }
    return ans;
}
int main()
{
   
    close;
    cin>>n>>m>>s;
    for(int i=1;i<=n;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值