小蒟蒻也想学大牛们写一下题解啦~虽然很弱小 但是写博客是个好习惯 而且是走向神犇道路的必经之路 所以lets start!!
这次比赛有好几个题在场上脑子突然短路,不知道为什么很简单的题就是想不起来,封榜的时候是第13名,因为没有做出来题最后铜奖组第一名惨淡收场…刚看到排名和铜奖的时候我的心是哇凉哇凉的 不过后来转念一想 没有关系!我才刚刚开始 有好多事情我还没有经历过!所以我会以这次比赛为契机 在我松懈的时候时刻想着这次的比赛, 积极参加各种比赛 虽然可能不会获得什么好的名次 ,但是我也把这些当做我的经历和锻炼 相信这些和相信着我的在我背后的人会推动着我加快我的脚步 走的更远!(小蒟蒻说这个感觉很慌 不过确实是真心话!!!

问题 M: 签到题
题目描述
恭喜你发现一道签到题,请输出“check in”来解决这道问题。

输入

输出
check in

样例输入

样例输出
check in
第一题是一道签到题 就不多说了 幸亏我发现这道题a的比较早(笑

#include<bits/stdc++.h>
using namespace std;
int main() {cout<<"check in";
}

问题 B: Alice and Bob
命题人:admin

题目描述
Alice and Bob decide to play a game. At the beginning of the game they put n piles of sweets on the table.The number of each pile of sweets may be different. Alice and Bob take away sweets in turn,and always Alice takes sweets first in every games.Each time in their turn they can get only one whole pile of sweets.When there is no sweet left, the game is over. Finally, The man who have the largest number of sweets in hand will win.
Assume that Alice and Bob were very clever.

输入
The first line is an integer n, which means that there are n pile sweets.
1 <= n <= 100000
Next n integers, the i-th integer means the number of sweets in the i-th pile.
The number of sweets in each pile is less than 10000.

输出
If Alice wins, output “A”, and if Bob wins, output “B”.
Otherwise output “again”

样例输入
样例输入1:
3
1 6 7

样例输入2:
4
3 3 3 3
题目大意为桌子上有很多堆糖果,每一堆糖果的数量可能不相同,这个Alice姐姐和Bob玩一个游戏 每个人一次拿一堆,比较最后谁拿到的糖果比较多。
反思:当时没有注意最后一句她们都很clever 把那一句当做了废话处理。。。所以没有进行排序 当天晚上加了一行sort就对了= = 挺难受的也 上代码: (下次一定把题目全部吃透!

#include<bits/stdc++.h>
using namespace std;
int b=0,c=0;
unsigned long long int a[200000];
bool cmp(int a,int b) {return a>b;
}
int main() {long long int  n;cin>>n;for(int i=1;i<=n;i++) {cin>>a[i];}sort(a+1,a+n+1,cmp);for(int i=1;i<=n;i++) {if(n==1) {if(a[n]<=0)cout<<"again";else if(a[n]>0)cout<<"A";return 0;}else if(n>1&&(i%2!=0))b+=a[i];else if(n>1&&(i%2==0))c+=a[i];}if(b>c)cout<<"A";else if(b<c)cout<<"B";else if(b==c)cout<<"again";}

问题 C: 黑白黑
命题人:admin

题目描述
黑白黑是一个很经典的游戏,规则也非常简单。三个人同时伸出一只手,手心为白,手背为黑,如果有两人为黑一人为白,或者两人为白一人为黑,则单独伸出手心或者手背的那个人就输了。
又是一个周末,小A小B小C他们仨个懒虫又睡到了中午,外卖送到楼下了也不想下楼拿,于是他们决定用这个游戏来选出一个输的人去拿外卖。

输入
三个整数
a b c
(0 <= a,b,c <= 1)
a表示小A
b表示小B
c表示小C
0表示伸出的手背
1表示伸出的手心

输出
如果有人输了则输出他的名字A/B/C(大写)
平局则输出"aha"(不含引号)

样例输入
样例输入1:
0 0 0

样例输入2:
1 1 0

样例输出
样例输出1:
aha

样例输出2:
C
这是一道水题 只需要几个if就ok(小时候玩游戏配一家的时候用过很多次这个,没想到现在还能遇到,还有点怀念2333 废话不多说咯 上代码:

#include<bits/stdc++.h>
using namespace std;
int main() {int a,b,c;cin>>a>>b>>c;if((a==0&&b==0&&c==0)||(a==1&&b==1&&c==1))cout<<"aha";else if((a==1&&b==1&&c==0)||(a==0&&b==0&&c==1))cout<<"C";else if((a==1&&b==0&&c==1)||(a==0&&b==1&&c==0))cout<<"B";else if((a==0&&b==1&&c==1)||(a==1&&b==0&&c==0))cout<<"A";
}

问题 E: are you ok?

题目描述
小朋是一家超市的老板,他经常会来超市检查,每次都会让仓库管理员列出仓库中剩余商品的数量。但是仓库管理员是个非常健忘的人,有时候商品都卖光了也不去进货,这会让老板非常生气,因为这样超市卖不出去东西就没办法赚钱了。小朋有句口头禅"are you ok?",如果发现所有商品的库存都为0的话,就会非常生气地喊出"are you ok?",大声地质询仓库管理员。
现在你就是仓库管理员,每次面对小朋的询问,你都会在电脑系统中对库存进行查询,然后列出剩余商品的清单。(如果所有商品库存都是0,那你就没办法交差了,你的老板会非常生气)。

输入
第一行一个整数n,表示有n种货物
(2 <= n <= 100)
往下一行有n个字符串s1,s2…si…sn 表示系统显示的第i种货物的名称(1<=i<=n)
(字符串长度不超过10)
往下一行有n个整数a1,a2…ai…an 表示系统显示的第i种货物的库存(1<=i<=n)
(每种货物库存数量 <= 1000)

输出
如果还有商品(哪怕只有一个),你也可以列出剩余商品的清单。
否则你就只能挨老板骂了。

样例输入
样例输入1:
4
a b c d
0 0 0 0

样例输入2:
5
apple egg milk desk light
0 1 2 0 1

样例输出
样例输出1:
are you ok?

样例1的说明:
所有的商品都没库存, 你的老板会非常生气

样例输出2:
egg x 1
milk x 2
light x 1
(x前后有空格)

这道题刚看到让我想起了雷军那首are you ok hhhh 脑子里真的出现了那个熟悉而又魔性的旋律(笑哭)
这题只需要使用一下struct结构体 判断是否为0 输出即可咯 代码:

#include<bits/stdc++.h>
using namespace std;
int f=0;
struct node {string name;int num;
}a[2000];
int main() {int n;cin>>n;for(int i=0;i<n;i++)cin>>a[i].name;for(int i=0;i<n;i++)cin>>a[i].num;for(int i=0;i<n;i++) {if(a[i].num!=0) {cout<<a[i].name<<" x "<<a[i].num<<"\n";f=1;}}if(f==0)cout<<"are you ok?";
}

are you ok? 反正拿了铜奖的我非常的不ok==!
问题 G: 数数
题目描述
小凯今年上一年级了,他只学会了0-9这十个数字,对于两位以上的数字,小凯自创了一套读法。
连续出现的x个y,小凯将其读作“xy”
比如:11 小凯读作"21" (连续2个1)
21 小凯读作"1211" (连续1个2 连续1个1)
99 小凯读作"29" (连续2个9)
310 小凯读作"131110"(连续1个3 连续1个1 连续1个0)
330111 小凯读作"231031"(连续2个3 连续1个0 连续3个1)
给定一个由数字组成的字符串n(2 <= |n| <= 100),请输出小凯对n的读法
|n|表示字符串n的长度
保证连续出现同一个数字的次数不会超过9次(因为小凯最多只能数到9)
比如:2223311111111118(非法,因为数字1连续出现了10次)

输入
由纯数字组成的一行字符串

输出
在小凯的自创规则下这一长串数的读法

样例输入
13145

样例输出
1113111415
这道题就是当时在场上脑子抽掉的真实代表 本来很简单的一道题目让我想的非常复杂,倒是我在场上做题的时候心态都崩了 直接放弃了这道题 同上 这道题回到宿舍立马就ac了 (心情复杂.jpg 上代码:

#include<bits/stdc++.h>
using namespace std;
int main() {string a;cin>>a;int sum=1;for(int i=0;i<a.size();i++) {if(a[i]==a[i+1])sum++;else {cout<<sum<<a[i];sum=1;}}
}

问题 H: 神奇老虎机

不知道你有没有玩过老虎机,现在小明面前有一台神奇的老虎机,这台机器有n个滚轮,从左往右数第i个滚轮包含1到a_i的整数(包括1和a_i)。在按下按钮之后,所有的滚轮都会飞速旋转,最终停下来,每个滚轮将显示其中一个整数。这个过程是随机的。小明有一个有趣的想法,如果将滚轮显示的数字连接起来看做一长串字符串的话,将会有非常多的可能,在这所有的可能中字典序最小的字符串是哪个?(只能从左向右读)

对于字典序的说明:
两个字符串S和T,从前往后比较,如果存在一个位置,在该位置两个字符串的字符不同,则比较小的那个所在的字符串字典序更小。
例如: 123的字典序比14的小,因为在第二个位置上2小于4
12345的字典序比9的小
220的字典序比22的大,因为22是220的一个前缀

输入
一个整数t,表示有t组数据(1 <= t <= 100)
每组第一行为一个整数n表示老虎机有n个滚轮
(1 <= n <= 1000)
第二行为n个整数(a_1 a_2 … a_i … a_n )
表示第i个滚轮上的数字范围(1~a_i)
(1 <= a_i <= 100)

输出
每组输入对应一行输出,输出字典序最小时老虎机滚轮上显示的数字
两个数字之间用空格隔开

样例输入
2
4
6 6 6 6
2
2 2

样例输出
1 1 1 1
1 1

提示
老虎机上显示的数都不含前导0
比如:某一块滚轮包含[1,33],如果它显示"1"的话,显示的是"1"而不是"01"

对于样例2的解释:
所有情况分别为:“1 1”、“1 2”、“2 1”、“2 2”
其中"1 1"是字典序最小的,所以答案为"1 1"
还有一张图 由于技术原因就不放出来啦2333 这道题其实也不是很难做 只是需要特判一下最后一位数 即下面代码的j==n-1 题目写的22的字典序比220大 因为要输出字典序最小的 所以最后一位不能有0 必须是1 于是当最后一项的时候 输出1和换行即可 代码:

#include<bits/stdc++.h>
using namespace std;
int main() {int t,n,x;cin>>t;for(int i=0;i<t;i++) {cin>>n;for(int j=0;j<n-1;j++) {cin>>x;if(x<10)cout<<1<<" ";if(x>=10&&x<100)cout<<10<<" ";if(x==100)cout<<100<<" ";}cin>>x;cout<<1<<" \n";}
}

问题 I: 五环
题目描述
提到五环,我想大家都非常熟悉。“啊五环你比四环多一环~~”
不好意思 跑题了。。。
奥运五环由蓝、黄、黑、绿、红五种颜色的圆环组成。
小迪认为五个圆环分别代表五大洲:
蓝色 = 欧洲
黄色 = 亚洲
黑色 = 非洲
绿色 = 大洋州
红色 = 美洲
对应英文为
Blue = Europe
Yellow = Asia
Black = Africa
Green = Oceania
Red = America

输入
输入一行字符串
字符串为五环的颜色或者五个大洲的名称

输出
如果输入的是颜色则输出对应的大洲
如果输入的是大洲则输出对应的颜色

样例输入
Blue

样例输出
Europe
这个题我想起来用我刚学的map 还有第二种方法(代码2)
代码1:

#include<bits/stdc++.h>
using namespace std;
map<string,string>a;
int main() {a["Blue"]="Europe";a["Yellow"]="Asia";a["Black"]="Africa";a["Green"]="Oceania";a["Red"]="America";a["Europe"]="Blue";a["Asia"]="Yellow";a["Africa"]="Black";a["Oceania"]="Green";a["America"]="Red";string b;cin>>b;cout<<a[b];
}

如果巧妙运用map的话很多题都是可以轻松解决的拉~
代码2:

#include<bits/stdc++.h>
using namespace std;
int main() {string a;cin>>a;if(a=="Blue")cout<<"Europe";else if(a=="Yellow")cout<<"Asia";else if(a=="Black")cout<<"Africa";else if(a=="Green")cout<<"Oceania";else if(a=="Red")cout<<"America";else if(a=="Europe")cout<<"Blue";else if(a=="Asia")cout<<"Yellow";else if(a=="Africa")cout<<"Black";else if(a=="Oceania")cout<<"Green";else if(a=="America")cout<<"Red";
}

问题 J: 开挂的小洋
命题人:admin

题目描述
最近小洋迷上了一款名叫打地鼠的游戏,但是小洋是个游戏白痴,这么简单的游戏也总是得不到几分,有一天他发现这款游戏可以在网络上买到外挂,这款外挂可以提前预知所有地鼠出现的时间,并且他可以开局得到两把锤子,之前小洋1s只能挥动一次锤子,现在他左右开弓可以同时打中最多两只地鼠。每只地鼠在第i秒出现,在第i+1秒的时候就会消失。也就是说在第i秒小洋只能打到这一秒出现的地鼠,(i-1)秒以及(i+1)秒出现的地鼠他都没办法打中。

输入
一个整数n,表示地鼠的数目
一个整数m,表示此次游戏时长
接下来n个整数a_1-a_n,表示地鼠会在第a_i秒出现
1 <= a_i <= m
1 <= n <= 1000;
1 <= m <= 100000;
每只地鼠最多停留一秒

输出
一个整数,表示小洋最高得分(每打中一只地鼠得一分)

样例输入
样例输入1:
4
9
1 1 4 7

样例输入2:
6
10
3 3 3 3 9 1

样例输出
样例输出1:
4

样例输出2:
4

提示
对于样例1的解释:
第1秒出现两只地鼠 左右开弓两只全打中得2分
第4秒出现一只地鼠 打中得1分
第7秒出现一只地鼠 打中得1分
最终得分4分

对于样例2的解释:
第1秒出现一只地鼠 打中得1分
第3秒出现四只地鼠 两把锤子最多打中两只 得2分
第9秒出现一只地鼠 打中得1分
共4分
这题使用了桶的思想 注意桶要开的大一点~ 代码:

#include<bits/stdc++.h>
using namespace std;
int a[200000];
int main() {int n,m,count=0,b;cin>>n>>m;for(int i=0;i<n;i++) {cin>>b;a[b]++;}for(int i=0;i<200000;i++) {if(a[i]!=0) {if(a[i]>=2)count+=2;if(a[i]==1)count+=1;}}cout<<count;
}

问题 K: 数字匹配
题目描述
给出两个元素数量都为n的数组a和数组b。对于数组a中的每个元素,都必须找一个(而且最多一个)数组b中的元素进行匹配,数组b中的所有元素也都要被匹配到,也就是说一一匹配。匹配完成后,相互匹配的元素相乘,然后把所有的积相加。
例如:
数组a:1 5 3
数组 b:2 3 4
如果a中第一个元素跟b中第三个元素匹配,第二个元素跟b中第二个元素匹配,第三个元素跟b中第一个元素匹配,匹配完后相乘得到 14、53、32,求和得到结果14+53+32=25。
如果a中第一个元素跟b中第二个元素匹配,第二个元素跟b中第三个元素匹配,第三个元素跟b中第一个元素匹配,匹配完后相乘得到 13、54、32,求和得到结果13+54+32=29。

给出n和两个数组,分别计算求和的最大结果与最小结果。

输入
第一行 一个数n,表示两个数组元素的个数 1<=n<=1000。
第二行 n个数 表示数组a的各个元素ai,0<ai<=1000 ai为正整数,(1<=i<=n)。
第三行 n个数 表示数组b的各个元素bi,0<bi<=1000 bi为正整数,(1<=i<=n)。

输出
两个数 分别表示最大结果和最小结果。最大结果和最小结果可以相等。

样例输入
3
1 5 3
2 3 4

样例输出
31 23
这道题目可以说是我最亏的题目 没有之一。。。 我做洛谷做惯了 于是就想枚举每一种可能性,然后把结果存到一个数组里 排序以后输出第一项和最后一项 可能我的思维在那时候直接江化了 固定思维觉得这样做不出来就没法做 忽略了思考的过程 其实只要排序一下 然后再降序拍一下 一相乘就出现了一个最大值和最小值
(当时没想到真实的脑子抽了 代码:

#include<bits/stdc++.h>
using namespace std;
int n,a[2000],b[2000];
bool cmp(int a,int b) {return a>b;
}
int main() {int n,maxn=0,minn=0;cin>>n;for(int i=0;i<n;i++)cin>>a[i];for(int i=0;i<n;i++)cin>>b[i];sort(a,a+n);sort(b,b+n);for(int i=0;i<n;i++) {maxn+=a[i]*b[i];}sort(b,b+n,cmp);for(int i=0;i<n;i++)minn+=a[i]*b[i];cout<<maxn<<" "<<minn;}

这道题没做出来真的是哭晕在厕所啊 当时我那个排名旁边只有我 没做出来。。。

这些就是我能写的所有的题解了…果然蒟蒻就是蒟蒻 不知道有没有人可以和我产生共鸣 以后我学会了别的题目会再次更新这篇博客

另外 QLU ACM的大家 一起努力吧!相信我们一定会创造辉煌!!!冲鸭!!!!

QLU ACM 2018新生赛相关推荐

  1. QLU ACM 2018新生赛解题报告

    QLU ACM 2018 新生赛解题报告 A [1303]约数个数 题目描述 输入 输出 解析 B [1301]Alice and Bob 题目描述 输入 解析 C [1289] 黑白黑 题目描述 输 ...

  2. 2021暨南大学轩辕杯ACM程序设计新生赛题解

    title : 2021暨南大学轩辕杯ACM程序设计新生赛 date : 2021-12-12 tags : ACM,练习记录 author : Linno 题目链接:https://ac.nowco ...

  3. 【weJudge】1106. [ACM][2014新生赛重现][现场]Gundam Unicorn

    你上有一门威力巨大的光束炮,然而它现在剩下的能量只能再发射一次.为了使敌人受到更大的损失,你必须谨慎地使用这仅剩的一次机会. 敌军队形和光束炮的覆盖范围均为矩形(矩形不可旋转). 输入要求 输入数据有 ...

  4. 【weJudge】1107. [ACM][2014新生赛重现][现场]啊~啊~,麻婆豆~腐,麻婆豆~腐~

    麻婆豆腐是小奏最爱的食物,为了做出最上等的麻婆豆腐,小奏准备了若干上等的食材,并且获得了传说中的麻婆豆腐的料理方法:每次将两种食材合二为一,成为一种新的食材,直到所有的食材都合并到一起,传说中的麻婆豆 ...

  5. 2016中北大学ACM程序设计新生赛题解

    新生赛题目地址 a or an 输入字符串后判断第一个字符是不是'a','e','i','o','u',即可. #include<algorithm> #include <iostr ...

  6. CDUTCMOJ 2018级ACM团队新生赛

    问题 A: 欢迎来到ACM的世界 题目描述 ACM国际大学生程序设计竞赛(英文全称:ACM International Collegiate Programming Contest(简称ACM-ICP ...

  7. 武汉工程大学第三届ACM程序设计新生赛(多校联赛)(线上赛)(热身赛) 题解

    题目链接:https://ac.nowcoder.com/acm/contest/9162#question 邀请码:acmwitedu2020 A. 最短逃生距离 当输入和输出的数据总数超过1000 ...

  8. SCAU 2018新生赛 初出茅庐 全题解

    我的博客园传送门,看起来更方便一些 18363 ACMer不得不知道的事儿(五) 思路:题目问有牌子就行,那就贪心,当懒狗摸铜牌最优. 但是有一点要注意.不能直接当前rank/0.6向上取整来算.因为 ...

  9. 第三届ACM/ICPC新生赛初赛题解

    A //注意感叹号为中文字符 #include<stdio.h> int main(){printf("I am a ACMer !\n");return 0; } B ...

最新文章

  1. 某程序员统计同事工作时间上厕所次数!有人一天去两次,有人一天去十次!楼主:懒人屎尿多!网友:最闲的是你!...
  2. [Flex][总结]从页面url获取参数
  3. 互联网金融之量化投资深度文本挖掘——附源码文档
  4. 图的邻接矩阵存储和邻接表存储定义方法
  5. Openlayers中加载Geoserver切割的EPSG:900913离线瓦片地图并显示
  6. vijos P1740 聪明的质检员
  7. YUI事件体系之Y.EventTarget
  8. swoole开发 php爬虫,PHP使用swoole实现多线程爬虫
  9. 本周日直播丨Oracle 多租户容器数据库体系结构
  10. Leetcode刷题指南和top100题目
  11. SQL——后台分页(C#,mysql)
  12. ubuntu16.04中ROS-Kinetic报错: not find a package configuration file provided by “gazebo_ros_control“
  13. 手机号码归属地 mysql_最新手机号段归属地数据库 (2021年1月版) 471402行
  14. 【矩阵论 图论】期末考试复习思维导图
  15. 华为HPLC模组全拆解之电力载波收发原理分析
  16. binlog2sql快速闪回
  17. Scroller简介
  18. 考研时间安排和考研内容
  19. 个人跨境电商要多少钱?新手怎么做跨境电商?
  20. 1.2RK3288积累

热门文章

  1. centos7下配置虚拟ip
  2. npm 安装 webpack
  3. 【Ubuntu 】配置WIFI为 AP模式
  4. C语言的字符串查找函数
  5. python实现简单小游戏_用python开发一个有趣的猜数字小游戏(实现简单的GUI界面学习)...
  6. JSP和Servlet常见面试题
  7. python hexdump_细说Linux中怎么用hexdump命令
  8. 安全帽识别系统-为安全生产保驾护航
  9. 月薪3000与月薪30000的文案区别!
  10. Windows下TCP编程——服务器客户端代码以及爬虫示例