咳咳,发个博客造福后人。就这么一篇博客哈哈哈
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;