网易游戏2016校园招聘“游戏研发&平台开发”在线笔试——A题 Amusing Digits
2015-09-16 20:15
543 查看
注意,lz并没有参加在线笔试,只是拿来练习一下,由于在hihocoder上并不能提交,只能用样例测试,所以不保证答案完全正确
题目:http://hihocoder.com/contest/ntest2015septdev/problem/1
分析:模拟题,贪心即可,对每一个9尝试找出最靠前的7、0、6,使得其满足9706的子串顺序,时间复杂度是O(N),空间复杂度是O(N)
题目:http://hihocoder.com/contest/ntest2015septdev/problem/1
分析:模拟题,贪心即可,对每一个9尝试找出最靠前的7、0、6,使得其满足9706的子串顺序,时间复杂度是O(N),空间复杂度是O(N)
#include <cstdio> #include <queue> using namespace std; int main() { int test; scanf("%d", &test); while(getchar() != '\n') ; while(test--){ queue<int> nine, seven, zero, six; int i = 0, c; for(; (c = getchar()) != '\n'; ++i){ if(c == '9') nine.push(i); else if(c == '7') seven.push(i); else if(c == '0') zero.push(i); else if(c == '6') six.push(i); } int tot = 0; for(; !nine.empty(); ++tot){ int x = nine.front(); nine.pop(); //printf("9 at %d\n", x); while(!seven.empty() && x > seven.front()) seven.pop(); if(seven.empty()) break; x = seven.front(); seven.pop(); //printf("7 at %d\n", x); while(!zero.empty() && x > zero.front()) zero.pop(); if(zero.empty()) break; x = zero.front(); zero.pop(); //printf("0 at %d\n", x); while(!six.empty() && x > six.front()) six.pop(); if(six.empty()) break; x = six.front(); six.pop(); //printf("6 at %d\n", x); } printf("%d\n", tot); } return 0; }
相关文章推荐
- timer.schedule定时器的使用
- Android 自定义View——自定义View控件
- H5学习之旅-H5的元素属性(3)
- 工厂模式
- VC++创建和调用dll
- vim 配置集锦
- session的生命周期
- 前端性能优化(八)
- H5学习之旅-H5的元素属性(3)
- H5学习之旅-H5的元素属性(3)
- PX4(PIXHAWK)源码开发人员文档(三)——进程间通讯的开发者指南
- POJ 3268 Silver Cow Party(dijkstra最短路)
- UVA11205子集生成的应用
- TCP控制拥塞的四种算法:慢开始,拥塞避免,快重传,快恢复
- OC正则表达式
- H5学习之旅-H5的元素属性(3)
- UVa 12683 Odd and Even Zeroes(数论+数字DP)
- Source Insight 3.X utf8支持插件更新
- ssh整合 配置文件集锦
- 学习路线