杭电 2012 年计算机复试真题
写在前面
此题目是根据 CSDN 博客粥粥同学发布的内容进行收集整理,记录了本人的解题过程和一些想法。仅供大家参考,如有错误,欢迎大家指出!
第一题
Problem Description
输入一个十进制的数,把它转成十六进制
Input
输入一个十进制整数,测试实例有多组,每组占一行
Output
输出对应的十六进制,每组占一行
Sample Input
50 123
Sample Output
32 7B
解题思路
可以偷懒直接利用 hex 输出,当然算的话就是整除取余,倒序输出
参考源码
//方法一 #include <iostream> using namespace std; int main() { int n; while (cin >> n) { cout << hex << uppercase << n << endl; } return 0; }
//方法二
#include <cstring>
#include <iostream>
using namespace std;
int main() {
int n;
string s;
while (cin >> n) {
while (n) {
int r = n % 16;
s += r < 10 ? r + '0' : r + 'A' - 10;
n /= 16;
}
for (int i = s.length() - 1; i >= 0; i--) cout << s[i];
cout << endl;
s.clear();
}
return 0;
}
第二题
Problem Description
贪吃蛇游戏大家一定都有玩过,已知自身长度 10 格的贪吃蛇初始时在 10*10 的地图中位于黑色位置,红色方块表示蛇头,贪吃蛇可以往四个方向移动,每次移动一格。现在你来判断贪吃蛇是否可以成功的到达目的地
Input
给出一组操作序列,wsad 分别表示上下左右,之和是一个数字,表示朝某个方向前进的步数,中间间隔一个空格。
例如:w 5 表示向上移动 5 个单位
Output
判断贪吃蛇经过输入操作后的状态,判断是成功、出界还是撞到自己
Sample Input
s 5
w 5
Sample Output
成功
出界
解题思路
此题由于回忆版对题目描述并不清晰,参考了TeilyMa’s Blog的改编版本
参考源码
相关内容
- 杭电 2010 年计算机复试真题
- 杭电 2011 年计算机复试真题
- 杭电 2013 年计算机复试真题
- 杭电 2014 年计算机复试真题
- 杭电 2015 年计算机复试真题