网易游戏开发软件笔试题1
来源:互联网 发布:网络电视剧上瘾全集 编辑:程序博客网 时间:2024/05/16 15:09
有一天,他在游戏中获得了一串数字,直觉告诉他这不是一串普通的数字串,或许可以破解一些关于网易的秘密。破解的第一步,他很想知道,在这串数字中,最多可以挑出多少个’9706’串。挑选的规则为:
(1)挑出的数字’9’,’7’,’0’,’6’在原串中可以不连续,但是数字的先后顺序不能改变
(2)使用过的数字不能被再次使用
如’123901370997606’可以最多挑出2个’9706’,而’6079’则无法挑出任何一个’9706’。
输入
第一行是整数T(T <= 100),表示下面有T组数据。
之后T行,每行为一组数据,每组数据为一个字符串。每个字符串的长度L <= 50000。每个字符串只会包含数字[‘0’…’9’]。
输出
输出T行,每行对应一个数据的输出结果,表示字符串最多能挑出多少个’9706’。
样例输入4
6097
97069706
997776600069
123901370997606
样例输出
0
2
1
2
答案
#include<iostream>#include<vector>using namespace std;void main(){ int lines; char* data=new char[50000]; //字符串不能超过50000 vector<int> out; cin >> lines; //cin >> lines或者getline(cin,lines)遇到换行符则结束输入并输出结果 getchar(); //此处使用getchar()主要是因为int占两个字节,而getchar()每次只能读取一个字符,即一个字节。调用一次getchar()向后移动一个字节,因此能保证进入下面while循环时已经取走了‘\n’而等待输入;若是不加这句,则下面的while循环要多执行一次才能执行等待用户的输入。 while (lines-- > 0) { int cnt = 0; int number[4] = { 0 }; while ((data[0] = getchar()) != '\n') //每调用一次getchar()则向后读取一个字符 { if (data[0] == '9') ++number[0]; if (data[0] == '7'&&number[0]>number[1]) ++number[1]; if (data[0] == '0'&&number[1]>number[2]) ++number[2]; if (data[0] == '6'&&number[2] > number[3]) ++number[3]; //++cnt; } out.push_back(number[3]); } for (auto temp : out) cout << temp << endl; system("pause");}
这块主要考察的是对单个字符提取判别,使用getchar().
getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.getchar函数的返回值是用户输入的字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.
cin>>lines或者getline(cin,lines),遇到换行符则结束输入并输出
- 网易游戏开发软件笔试题1
- 网易游戏笔试题(1) 20171209
- 2018网易游戏笔试题
- 网易游戏2015 在线笔试题(1)
- 【网易游戏研发笔试题1】寻找特殊数字串
- 2008网易游戏开发工程师笔试题
- 2008网易游戏开发工程师笔试题
- 网易五道游戏笔试题
- 网易游戏TTT计划实习生笔试题
- 网易游戏运维笔试题
- 2015网易游戏笔试题01
- 2015网易游戏笔试题04
- 网易游戏2016笔试题(三)
- 网易内推笔试题--数字游戏
- 2018网易游戏校招笔试题
- 【网易笔试题】游戏中挂机
- 网易游戏笔试题(2) 20171209
- 网易游戏笔试题(3) 20171209
- Math.round这个方法有坑
- 华为上机题汇总(五)
- AngularJS动态加载模块和依赖
- Android注解框架butterknife基本用法
- 【Leetcode】61. Rotate List - 循环链表
- 网易游戏开发软件笔试题1
- BZOJ4668 冷战
- WebService工作学习心得
- SpringMVC+Spring+Mybatis整合配置文件小记
- java Unicode编码转换为汉字
- light oj 1102 Problem Makes Problem [组合数+逆元]
- 如何调用ecshop的轮播图的图片信息
- TIM的一些配置参数
- 编写bash脚本来更新mongo数据库数据