A:

仔细读题ORZ

A.涂山红十字会
Time Limit: 1000 MS Memory Limit: 256000 K
Total Submit: 1121 (338 users) Total Accepted: 246 (234 users) Special Judge: No
Description

涂山小超最近总觉得身体不舒服,比如玩久了手机会头晕,吃多了会觉得撑,喝多了凉水会觉得塞牙,于是他决定去涂山红十字会做一个全面的身体检查。为了诊断结果的准确,他打算去看n个医生,每个医生的诊断都需要前面所有医生的诊断,所以小超必须按照顺序去看医生,即按照doctor 1,doctor 2,doctor 3…doctor n的顺序。小超可以从最后一个医生那里得到检查的最后结果。

涂山红十字会的医生工作时间有一点奇怪,doctor i在第si天开始工作,工作时间间隔di天。即,doctor i在第si,si+di,si+2*di,… 天是工作时间。

医生检查需要很长的时间,所以小超一天最多只能看一个医生。现在,他想知道他最少需要多少天能看完所有的医生,你能告诉他吗?

Input

输入数据有多组,每组数据第一行输入一个整数n(1 ≤ n ≤ 1000),表示小超需看医生的数量。接下来n行输入,每行两个整数si,di (1 ≤ sidi ≤ 1000),含义如题。

Output

对于每组输入数据,输出一个整数表示小超看完所有医生需要的最少天数,每组输出占一行。

Sample Input

3

2 2

1 2

2 2

2

10 1

6 5

Sample Output

4

11

代码:

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<stdlib.h>
using namespace std;int main()
{int i,n;while(~scanf("%d",&n)){int ans=0,op,time;for(i=0;i<n;i++){scanf("%d%d",&op,&time);while(ans>=op){op+=time;}ans=op;}printf("%d\n",ans);}return 0;
}

B:

B.算法竞赛入门经典
Time Limit: 1000 MS Memory Limit: 256000 K
Total Submit: 1333 (447 users) Total Accepted: 384 (361 users) Special Judge: No
Description

小八刚进大学就参加了学校的ACM集训队,好开心呀~ 刚刚接触编程的小八找到一本编程界的武林秘籍 —— 《算法竞赛入门经典》(刘汝佳),好想快点看完呀。可是除了编程还有好多事情呢,每天都要上课,还要跑早操,还想睡懒觉……

计划能动性很强的小八很快把自己接下来n天的working-time列出来了,表示自己每天的工作秒数,剩下的时间就可以学习武林秘籍,并且假定自己学完需要t秒,已知小八从第一天开始阅读,空闲时间全部用来阅读,你能告诉她,小八从开始阅读到读完共需要多少天吗?

Input

输入数据有多组,每组数据第一行输入两个整数n和t,(1 ≤ n ≤ 100, 1 ≤ t ≤ 106),分别表示天数和读完武林秘籍需要的秒数。第二行输入n个整数 ai (0 ≤ ai ≤ 86400),表示小八n天里的working-time。

Output

对于每组输入数据,输出小八读完武林秘籍需要的天数,如果小八不能在n天之内看完,输出0。每组输出占一行。

Sample Input

2 2

86400 86398

2 86400

0 86400

Sample Output

2

1

代码:

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<stdlib.h>
using namespace std;int main()
{int n,time,i;while(~scanf("%d%d",&n,&time)){int t=0,www,day=0,ans,flag=0;for(i=0;i<n;i++){day++;scanf("%d",&www);t=t+86400-www;if(t>=time&&flag==0){ans=day;flag=1;}}if(t>=time)printf("%d\n",ans);else printf("0\n");}return 0;
}

D:

D.貂蝉的试炼
Time Limit: 1000 MS Memory Limit: 256000 K
Total Submit: 367 (189 users) Total Accepted: 183 (167 users) Special Judge: No
Description

公元2017年11月19日,涂山小八正在专注的和小伙伴五黑,突然一道白光,回过神来,小八已经站在一个陌生的地方,红爸爸、蓝爸爸、暴君、主宰…随着耳边响起“欢迎来到王者农药”,对面走来熟悉的貂蝉小姐姐,小八恍然明白自己是站在王者农药的战场上。

貂蝉:“我知道你在疑惑什么,现在你可以选择接受或不接受我的试炼,如果你接受并通过了,我可以回答你的所有疑问,并且送你回去。相反,你将继续留在这等待。”

小八:“……接受(ノ`Д)ノ另外,你是在cosplay吗?”

貂蝉:“不是(ノ`Д)ノ,这是一场关于力量和智慧的考验。决斗开始时,我将向你抛出n块魔法水晶。魔法水晶具有跟踪作用,除非你破解上面的魔法,否则一定会被攻击。如何破解?每块魔法水晶上有个神秘攻击值,是古代花丸幼稚王国消失已久的罗马数字,只要你快速转换成阿拉伯数字并大声喊三遍,水晶球就会失效。”

貂蝉:“我看你骨骼清奇,是开黑界的奇才,那就给你几点提示吧。

1. 罗马数字基本字符: I、V、X、L、C、D、M,分别表述阿拉伯数字1、5、10、50、100、500、1000。

2.重复数次:一个罗马数字重复几次,就表示这个数的几倍。

3.右加左减:

(1)在较大的罗马数字的右边记上较小的罗马数字,表示大数字加小数字。

(2)在较大的罗马数字的左边记上较小的罗马数字,表示大数字减小数字。

(3)左减的数字有限制,仅限于I、X、C。比如45不可以写成VL,只能是XLV。但是,左减时不可跨越一个位值。比如,99不可以用IC(100-1)表示,而是用XCIX([100-10]+[10-1])表示。(等同于阿拉伯数字每位数字分别表示。)

(4)左减数字必须为一位,比如8写成VIII,而非IIX。

(5)右加数字不可连续超过三位,比如14写成XIV,而非XIIII。

4.数码限制:同一数码最多只能连续出现三次,如40不可表示为XXXX,而要表示为XL。

以上为阿拉伯数字转罗马数字的规则,而你需要破解对应罗马数字的阿拉伯数字是多少。”

小八:“不懂。”

貂蝉:“看样例(ノ`Д)ノ”

作为小八队友的你,快点帮他回到现实世界,然后愉快的开黑吧。

Input

输入数据有多组,每组数据输入一个罗马数字n,(1≤n≤3999)。

Output

对于每组输入数据,输出罗马数字对应的阿拉伯数字,每组输出占一行。

Sample Input

VIII

XIX

XXXIX

XXI

XLI

Sample Output

8

19

39

21

41

代码:

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<stdlib.h>
using namespace std;char s[100];int main()
{while(~scanf("%s",s)){int i,len=strlen(s),ans=0;for(i=0;i<len;i++){if(s[i]=='I'&&s[i+1]=='V')ans-=1;else if(s[i]=='I'&&s[i+1]=='X')ans-=1;else if(s[i]=='X'&&s[i+1]=='L')ans-=10;else if(s[i]=='X'&&s[i+1]=='C')ans-=10;else if(s[i]=='C'&&s[i+1]=='D')ans-=100;else if(s[i]=='C'&&s[i+1]=='M')ans-=100;else if(s[i]=='I')ans+=1;else if(s[i]=='V')ans+=5;else if(s[i]=='X')ans+=10;else if(s[i]=='L')ans+=50;else if(s[i]=='C')ans+=100;else if(s[i]=='D')ans+=500;else if(s[i]=='M')ans+=1000;}printf("%d\n",ans);}return 0;
}

E:

E.时空之门
Time Limit: 1000 MS Memory Limit: 256000 K
Total Submit: 1451 (435 users) Total Accepted: 368 (355 users) Special Judge: No
Description

话说上回涂山小八在队友的帮助下成功通过“貂蝉的试炼”,于是就可以回去了。貂蝉小姐姐一挥手带她来到一扇门前。

貂蝉:“此门名为时空之门,穿过此门就可以回去。只是要想开启此门需要密钥,密钥可从门上刻的那些密文之中得到。如何得到?寻找每行字符串之中有多少个if,全部找出之后即可开启此门。”

小八:“……”

Input

输入数据有多组,每组数据输入一行字符串(包含空格),输入持续到文件结束,每行数据长度不长于1000个字符,输入字符区分大小写。

Output

对于每组输入数据,输出所包含的 if 数目并换行,每组输出占一行。

Sample Input

ififififififi

iififfif

Sample Output

6

3

代码:

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<stdlib.h>
using namespace std;char s[1005];int main()
{while(gets(s)){int len=strlen(s),i,ans=0;for(i=0;i<len-1;i++){if(s[i]=='i'||s[i]=='I'){if(s[i+1]=='f'||s[i+1]=='F'){ans++;}}}printf("%d\n",ans);}return 0;
}

G:

G.真假小妖
Time Limit: 1000 MS Memory Limit: 256000 K
Total Submit: 1236 (482 users) Total Accepted: 425 (387 users) Special Judge: No
Description

风和日丽的一天,涂山小八正在悠哉的晒着太阳。突然,一群小妖涌了进来,一问才知道又是东方平平捉弄她,使了个法术造了一群涂山小妖的盗版。现在分不清真小妖和假小妖了。

小八微微一笑,开始有条有理的组织起来鉴别真假。原来涂山小妖都有一个ID数字,这些ID数字都是特别的回文数字。平平不知道此事,造的假小妖的ID数字都不是回文数字。

看在小八都这么机智的份上,帮帮她吧?

Input
   输入数据有多组,每组占一行,输入一个整数n(1≤n≤109),表示小妖的ID数字。
Output

对于每组数据,如果这个小妖是真小妖的话,输出“yes”,否则输出“no”(输出不包括引号),每组输出占一行。

Sample Input

12345

12321

2

Sample Output

no

yes

yes

代码:

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<stdlib.h>
using namespace std;char s[20];int main()
{while(~scanf("%s",&s)){int i,flag=1,len=strlen(s);for(i=0;i<len/2;i++){if(s[i]!=s[len-i-1])flag=0;}if(flag)printf("yes\n");else printf("no\n");}return 0;
}

H:

H.小妖的下属
Time Limit: 1000 MS Memory Limit: 256000 K
Total Submit: 832 (212 users) Total Accepted: 81 (67 users) Special Judge: No
Description

话说上回涂山小八成功解出真假小妖的难题,东方平平觉得很不开心,仿佛受到了嘲笑。于是他又造了一批假的小妖,气鼓鼓的找到了小八。

平平:“哼,我造的这批小妖ID号也有特殊属性。简单来说,一个小妖所领导的小妖个数就是它的ID号可以分解的方式数,所谓分解,就是把n分解成若干个连续正整数之和。如ID=15的小妖,下属有3人,因为它有(1,2,3,4,5),(4,5,6),(7,8)共3种分解方式。现在我想问你,每个小妖的下属个数是多少,赌上我刚买的一打妖馨斋“一品五彩棒”棒棒糖。”

如果你能帮小八解出来的话,小八会把一品五彩棒分给你哦~

Input
输入数据有多组,每组输入一个整数n(1≤n≤109),表示小妖的ID数字。
Output

对于每组数据,输出这个小妖的下属个数,每组输出占一行。

Sample Input

3

15

2788

Sample Output

1

3

3

思路:

连续的整数,说明这个数减去最小的连续整数能够整除,如(15-1-2)%2==0,(15-1-2-3)%3==0,(15-1-2-3-4-5)%5==0。

代码:

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<stdlib.h>
using namespace std;int main()
{int n,i;while(~scanf("%d",&n)){int ans=0,k=1;for(i=2;i<n;i++){k+=i;if(n-k<0)break;if((n-k)%i==0)ans++;}printf("%d\n",ans);}return 0;
}

I:

I.丢失的数字
Time Limit: 800 MS Memory Limit: 256000 K
Total Submit: 1541 (252 users) Total Accepted: 79 (71 users) Special Judge: No
Description

据说圣玛格丽特学院的图书馆上方住着一个金色妖精——维多利加,她有金色闪亮的头发和翡翠绿的双瞳,是个娇小宛如陶瓷娃娃般美丽容颜的少女。

“以智者知名,为愚者代言。”拥有智慧之泉的维多利加可是无所不知的哦~这不,数字收藏家涂山小八哭着跑来找她,说好盆友东方平平想送给她一个数字,但是自己的数字放的太乱了。

“我想找出我现在没有的最小正整数,让平平送给我,你能帮我找吗?”

嘛~维多利加这么可爱,当然会帮你啦~

Input

输入数据有多组,每组数据第一行输入一个整数n(1≤n≤106),表示小八拥有的数字个数。第二行输入n个整数ai(-109≤ai≤109),表示小八拥有的数字。

Output

对于每组输入数据,输出小八想让平平送给他的数字,每组输出占一行。

Sample Input

3

1 2 0

4

3 4 -1 1

Sample Output

3

2

Hint

数据量较大,建议使用scanf和printf输入输出。

桶排

代码:

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<stdlib.h>
using namespace std;int v[1000005];int main()
{int n,i,k;while(~scanf("%d",&n)){for(i=0;i<n;i++){scanf("%d",&k);if(k>0&&k<1000005)v[k]=1;}i=1;while(v[i++]);printf("%d\n",i-1);memset(v,0,sizeof(v));}return 0;
}

K:

K.电话拦截
Time Limit: 1000 MS Memory Limit: 256000 K
Total Submit: 236 (78 users) Total Accepted: 41 (36 users) Special Judge: No
Description

小八用了点手段得知对手公司要做一个欺诈电话拦截app,小八立刻通知公司开发组,火速开发一个优质的欺诈电话拦截app,抢先一步上线。

小组技术总监给了一个方案,需要你来实现一下,首先用户可以标记电话号,标记成快递、骚扰、欺诈等。用户每收到一个电话,立即上传号码,经查找数据库,输出当前号码被标记次数最多的类型,以及被标记次数。如果有多于一种类型被匹配为最多次数,按照欺诈、骚扰、快递的优先级输出。

你作为小组成员,负责后台逻辑开发,现采用快速开发方案,开发一个功能预览版本。测试组成员已拟定好一组测试数据。

Input

输入数据有多组,每组数据先输入n(1≤n≤105)表示接下来的数据行数。接下来输入n行,输入按照时间顺序进行,有下面两种格式。

A 1234,表示接到一个电话1234。

B 1234 k,表示标记电话 1234 为快递。此处k、s、q分别表示快递、骚扰、欺诈。电话号码不超过20位。

Output

对于每组输入数据,输入为A 1234格式时,根据历史标记数据,匹配相应规则后,输出一个结果:

k=n:表示匹配“此电话被标记为快递n次”。

s=n:表示匹配“此电话被标记为骚扰n次”。

q=n:表示匹配“此电话被标记为欺诈n次”。

N:表示目前未被标记过。

输入为B 1234 k/s/q格式时,输出Y,表示已记录。

每组输出占一行。

Sample Input

7

A 1234

B 1234 k

A 1234

B 1234 k

B 1234 s

B 1234 s

A 1234

Sample Output

N

Y

k=1

Y

Y

Y

s=2

代码:

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<stdlib.h>
using namespace std;char s[100005][30],zhan[30];
int v[100005][3];int main()
{int n,i;while(~scanf("%d",&n)){char fir;int www=0,i;getchar();while(n--){scanf("%c",&fir);if(fir=='A'){scanf("%s",zhan);for(i=0;i<www;i++){if(strcmp(zhan,s[i])==0){if(v[i][0]>=v[i][1]&&v[i][0]>=v[i][2])printf("q=%d\n",v[i][0]);if(v[i][1]>v[i][0]&&v[i][1]>=v[i][2])printf("s=%d\n",v[i][1]);if(v[i][2]>v[i][0]&&v[i][2]>v[i][1])printf("k=%d\n",v[i][2]);break;}}if(i==www)printf("N\n");getchar();}else{scanf("%s %c",zhan,&fir);for(i=0;i<www;i++){if(strcmp(zhan,s[i])==0){if(fir=='q')v[i][0]++;if(fir=='s')v[i][1]++;if(fir=='k')v[i][2]++;printf("Y\n");break;}}if(i==www){strcpy(s[www],zhan);if(fir=='q')v[www][0]++;if(fir=='s')v[www][1]++;if(fir=='k')v[www][2]++;printf("Y\n");www++;}getchar();}}memset(v,0,sizeof(v));memset(s,0,sizeof(s));}return 0;
}

2017哈尔滨理工大学新生赛相关推荐

  1. 2020年浙江理工大学新生赛 C Cly的三角形

    Description Cly很喜欢三角形,有一天他遇到了一道和三角形有关的题,但是这道题他简单了,他懒得做,于是交给了你. 给定一个数组,每次询问一个子区间,如果能从这个子区间挑出三个数组成三角形输 ...

  2. 2020年浙江理工大学新生赛 B Cly的博弈

    注意:本文的代码可以AC,但解释可能有误,思路仅供参考 Description Cly很喜欢博弈,这天他和他的分身DD_BOND玩起了一个博弈游戏(本体当然是先手了),游戏规则如下,请你判断谁能赢得游 ...

  3. 2020年浙江理工大学新生赛 D DD_BOND看到的hcy

    签到题 Description 一般来说,从这个角度来看,问题的关键究竟为何?这样看来,我认为,一般来说, 要想清楚,hcy到底是一种怎么样的存在.经过上述讨论,经过上述讨论,带着这些问题,我们来审视 ...

  4. 2021浙江理工大学新生赛被毒打记录

    Problem A: nudun故事集之ATM出的线段树 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 367  Solved: 16 Descrip ...

  5. 2020年浙江理工大学新生赛 E DD_BOND买赛博朋克2077

    注意:本文还处于 EA 阶段,亟待修正和完善 最后一次更新时间:2021/11/10 20:55 注意:本文的代码可以AC,但解释可能有误,思路仅供参考 动态规划+线段树 参考: https://bl ...

  6. 2021年浙江理工大学新生赛同步赛

    Problem K: nudun故事集之约会 Description 题目背景 时隔多年,赚了不少达不溜的zmw想要来一场甜甜的恋爱,于是乎他找到了万能的nudun.在情场高手mk23ez66的介绍下 ...

  7. 牛客练习-哈尔滨理工大学21级新生程序设计竞赛(同步赛)

    比赛链接:哈尔滨理工大学21级新生程序设计竞赛(同步赛) 文章目录 前言 正文 A.考试周破防 B.咖啡店 C.kiki和bob玩取石子 D.猴王kiki分桃 E.很二的拆分 F.构造字符串 G.信号 ...

  8. 哈尔滨理工大学软件与微电子学院程序设计竞赛(新生赛)

    关于哈尔滨理工大学软件与微电子学院程序设计竞赛(新生赛) 下午五点四十开始的比赛,五点二十我才刚刚抽完血,实在是有点难顶,再加上还没有吃饭,刚开始做题的时候还真是有点发懵,胳膊也很难受. 这应该是我第 ...

  9. 哈尔滨理工大学21级新生程序设计竞赛(同步赛)错题笔记

    目录: 新生赛题目链接 C kiki和bob玩取石子 E 很二的拆分 F 构造字符串 G 信号之旅 H 小球滚动 I kiki看球赛 J 跳一跳 K Jay的小迷弟 L 翻转卡片 新生赛题目链接 C ...

最新文章

  1. usaco Electric Fence
  2. 《资本说》如何帮助企业从“0”到“1”,看王波玩转投资攻略
  3. ORA-01502:索引或这类索引的分区处于不可用状态 的解决方法
  4. BugBash活动分享
  5. 清华大学 lt;现代软件工程gt; 项目小组名单
  6. linux内核那些事之mmap_region流程梳理
  7. java ajax json 乱码_java+ajax加载中文json串后出现乱码问题的解决办法
  8. ES6学习(十)—async 函数
  9. 路由算法之距离矢量算法和链路状态算法
  10. Struts2的标签库(二)之数据标签
  11. 当纺织遇上阿里云,数学博士钻进车间要让企业更高效
  12. 按方位提取高程数据的方法
  13. Prolog入门教程
  14. 十二星座谁最不会顾及别人感受?
  15. 神奇的Perl-哈希与数组(4)
  16. Arcgis Engine 切割图斑(ITool)
  17. 白杨SEO:流量红利消失,现在都在各渠道做推广,我们还有必要做官方网站吗?怎么做呢?
  18. opencv绘制椭圆
  19. matlab偏最小二乘截距,matlab代写偏最小二乘回归(PLSR)和主成分回归(PCR)
  20. ANSYS MESH

热门文章

  1. vue模板字符串标签动态参数_Vue中的字符串模板的使用
  2. mybatis的一级缓存、二级缓存、sqlsession、sqlsessionfactory什么意思?
  3. 【实际开发03】- dto + vo - 先处理 dto , 后处理 vo ( 通常少一注解 )
  4. 重装系统后要安装哪些驱动
  5. NLP三大特征抽取器(CNN/RNN/TF)比较:全面拥抱Transformer
  6. Python从入门到放弃?方法不对一切白费!
  7. IE9 IE10 无法上传文件 解决方案
  8. 软件工程学习进度表(十六周)
  9. 他们为啥不爱谷歌眼镜了?
  10. Unity中游戏卡牌滚动效果,EnhanceScrollview(适用于NGUI,UGUI)