(完整版)中国人民大学信息学院2017年夏令营机试题目(考生回忆版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国人民大学信息学院2017年夏令营机试题目(考生回忆版)注:此乃考生回忆版,不确保细节的完全正确性。
面向考生:计算机系(计算机应用技术、计算机软件与理论、信息安全、计算机系统结构、软件工程、软件工程(工程硕士))&经济信息管理系(管理科学与工程、系统理论)
印象中计算机系和经济信息管理系是相同时间相同题目相同要求。
考试时间:1小时(试卷上印的40分钟)。笔试结束即开始计时。监考老师会先收齐笔试试卷与草稿纸,然后发放机试题目与要求。广播中也会提示各种注意事项,这一过程实际约10分钟,这一过程可以作答。
评测平台:应该是人大自己搭了一个POJ平台,网址记不住了。
接受语言:C、C++、Pascal
考试用机配置:Windows 7、Visual Studio 2010、Dev C++、Eclipse
分值:共2题,每题10分,共20分。仅当有一次提交记录获得Accepted 才可获得该题所有分数。WA/PE/CE/MLE等错误情况多少次都无所谓。
第一题:进制转换
题面:给出一个十进制非负整数n,请将该数转换为r进制数并输出。0≤n≤1000000000,2≤r≤16。超出十进制的,字母大写输出。输入共一行,输出共一行。
输入样例:126 16
输出样例:7E
第二题:皇后攻击范围
题面:在国际象棋中,皇后的攻击范围包括所在横线、所在竖线、所在左上右下对角线和所在右上左下对角线。输入皇后所在坐标,请输出该皇后的攻击范围。输入共一行,为一个坐标值,输出共四行,所在横线、所在竖线、所在左上右下对角线和所在右上左下对角线各一行。若其中某条线没有可攻击范围则该行空一行,同一行内按字典序排列。
H
G
F
E
D
C
B
A
1 2 3 4 5 6 7 8
输入样例:
F4
输出样例:
F1 F2 F3 F5 F6 F7 F8
A4 B4 C4 D4 E4 G4 H4
B8 C7 D6 E5 G3 H2
C1 D2 E3 G5 H6
输入样例:
A1
输出样例:
A2 A3 A4 A5 A6 A7 A8
B1 C1 D1 E1 F1 G1 H1
B2 C3 D4 E5 F6 G7 H8
整体得分情况:前45分钟共有8人AC所有题目,45:00-46:00期间又有4人AC所有题目,但那时答对一题及以上的不超出60人。之后15分钟的情况就不知道了(提前做完会被监考老师要求必须立即离场)。提前交卷的同学中有人印象中当时所有评测记录都没有出现Wrong Answer的情况。
参考答案(满分):
第一题:
#include
#include
using namespace std;
int main()
{
int n,r;
stack
cin>>n>>r;
if(n)
{
while(n)
{
s.push(n%r);
n/=r;
}
while(!s.empty())
{
n=s.top();
s.pop();
if(n<10)
cout< else cout<<(char)(n+55); } } else cout<<0; return 0; } 第二题: #include using namespace std; int main() { int c,i,j; char r; cin>>r>>c; for(i=1;i<9;i++) if(i!=c) cout< cout< for(i=1;i<9;i++) if(i+64!=r) cout<<(char)(i+64)< cout< for(i=0;i<8;i++) if(c+i>8||r-i<65) break; for(j=--i;r-j<73&&c+j>0;j--) if(j) cout<<(char)(r-j)< cout< for(i=0;i<8;i++) if(c-i<1||r-i<65) break; for(j=--i;r-j<73&&c-j<9;j--) if(j) cout<<(char)(r-j)< cout< return 0; }