2011BNU新生赛J题解题报告
来源:互联网 发布:人工智能eliza的结局 编辑:程序博客网 时间:2024/05/24 06:31
这个题可以说成是中等的字符串模拟题,由于这次有幸把我们院10级的拉来做新生赛了,所以就特意出了个化学题(当然去年也出了,当然还有道恶心的地理题给小舜萌猫喵准备的。貌似这个题是我出的三个题中最简单的一道??所以被选中了^_^Y),思路主要来源于我的化学专业英语的课本,翻译了其中的一段话就成了题面(^_^#)乍一看题面有点儿像新东方的词根词缀记忆法,没错我就是这么记的,而且我们平时小测验还考了(>_<),好吧言归正传给原子序数输出英文名还是比较好处理的,反过来就会有很多trick,我的做法是loc记录当前处理到的字符串的位置,strstr去找每个词根的位置,等于loc说明字符串中有这个词根,bi和tri不影响,关键就是nil在enn后面时要特别注意,所以遇到nil的i再往前退一个就好了。
赛后judge了下一些可以看到的同学的代码:发现小舜萌猫喵读错题了,un和nil在一起是不用处理的(从英文角度来讲ennnil很不和谐,unnil却可以忍)~~~然后戴神带来的小弟(rookie11-032)先是赛后怀疑明明出的题数据有问题,我这个题他竟然打了个14000+的表,有点儿我当年的“风采”,可以打的表我一眼就看出了错误(囧)rookie11-035 data2读不进来。。。不知为什么,然后他就TLE了,很可惜的是rookie11-043很可爱的忘把freopen去掉了,然后就WA了,不然他就1A了。我出题的目的当然是这个题可以AC,但1A是有难度滴,不过陆神在测题时1A了,强烈ORZ!!!!!!
#include <stdio.h>#include <string.h>char number[10][5]={"nil", "un", "bi", "tri", "quad", "pent", "hex", "sept", "oct", "enn",};char a, b, c, element[20];int t, flag;int main(){ scanf ("%d", &t); while (t--){ scanf ("%d", &flag); getchar(); if (flag == 1){ scanf ("%c%c%c", &a, &b, &c); printf("%c", number[a - '0'][0] - 'a' + 'A'); if (a == '9' && b == '0') printf("%s%s", number[a - '0'] + 1, number[b - '0'] + 1); else printf("%s%s", number[a - '0'] + 1, number[b - '0']); if (b == '9' && c =='0') printf("%s%s\n", number[c - '0'] + 1, "ium"); else if (c == '2' || c == '3') printf("%s%s\n", number[c - '0'], "um"); else printf("%s%s\n", number[c - '0'], "ium"); } if (flag == 2){ scanf("%s", element); element[0] = element[0] - 'A' + 'a'; int loc = 0, sum = 3; while(sum){ int i = 0; for (; i <= 9; i++){ printf("%"); if (strstr(element + loc, number[i]) == (element + loc)){ printf("%d", i); loc += strlen(number[i]); if(element[loc]=='i') loc--; --sum, i = 0; } } } printf("\n"); } } return 0;}
- 2011BNU新生赛J题解题报告
- BNU新生赛总结
- 2015NCHU第一届ACM新生选拔赛J题题解
- 2012年BNU新生程序设计大赛解题报告【非官方版】
- BNUOJ新生赛题解
- GPNU2017新生赛题解
- BNU hnust训练赛 J特殊运算
- 2011新生练习赛三解题报告
- SCAU2011新生现场赛题解
- 本次新生赛部分题解
- 北师大新生赛2014 题解
- 南邮新生赛题解
- HDU 11.29 新生赛题解
- 2015GPNU新生赛题解
- 新生练习赛 10.2 题解
- 2017网络新生赛题解
- HDU新生赛题解【未完】
- 2011新生选拔赛解题报告
- 编译器错误消息: CS1010: 常量中有换行符
- 《Shell脚本学习指南》笔记--2011-12-17
- Java -- 关于绝对路径,相对路径
- oracle 查找错误方法!
- 敏捷开发团队管理系列之三:程序与测试团队II
- 2011BNU新生赛J题解题报告
- HashMap的遍历两种常用的方法,那就是使用keyset及entryset来进行遍历
- 决定学习使用CodeBlocks
- 解决ubuntu字体模糊问题
- 【思考比传道更重要】
- 感叹一下
- spring 控制反转与依赖注入原理
- 浅谈文字编码和Unicode(上)
- ACE_Stream中的recv_n和send_n