77范文网 - 专业文章范例文档资料分享平台

2013年慈溪市小学生计算机程序设计竞赛复赛试题解题报告

来源:网络收集 时间:2019-01-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

2013年慈溪市小学生计算机程序设计比赛复赛试题解题报告

1. 统计方格(count.pas)

【问题描述】

给出一张n行m列仅由黑白方格组成的黑白图片(行从上到下1到n编号,列从左到右1到m编号)。如下图是一张由17行18列方格构成的黑白图片,图片中的任意一个方格要么是白色,要么是黑色。

仔细观察这张黑白图片我们可以发现,图中共有60个黑色方格(连续的黑色方格不能算成一个),黑色方格最多的行是第3行和第17行,都为6个,黑色方格最少的行是第5行、第6行、第9行、第12行、第13行、第15行,都为2个。 请编写程序统计黑白图片中黑色方格的总数,黑色方格数目最多的行的行号及黑色方格数目最少的行的行号。 【输入数据】

输入文件count.in:输入从文件中读取,输入共n+1行。 第1行是两个整数n和m(1≤n, m≤100),分别表示黑白图片的行数和列数,两个整 数间用空格分隔。

第2行到第n+1行,描述了图片中每个方格的颜色,黑色用整数0表示,白色用整数1 表示。每行为m个用空格分隔的0或1,其中第i+1行第j 列的整数为Aij(1≤i≤n,1≤j≤m,Aij=0或者Aij=1),表示图片第i 行第j 列位置的方格颜色。 【输出数据】

输出文件count.out:结果输出到文件中。

输出共1行,包含3个整数。分别表示输入文件所表示的黑白图片中黑色方格的总数,黑色方格数目最多的行的行号及黑色方格数目最少的行的行号。注意,如果黑色方格最多的行有多行一样,则输出行号最小的,同样,如果黑色方格最少的行有多行一样,也是输出行号

最小的。

【输入输出样例1】 count.in 6 6

1 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 count.out 10 2 1

【样例1解释】

输入的黑白图片的大小为6行6列,第1行0个黑色方格,第2行3个黑色方格,第3行2个黑色方格,第4行2个黑色方格,第5行3个黑色方格,第6行0个黑色方格。所以总共有10个黑色方格,黑色方格最多且行号最小的行是第2行,黑色方格最少且行号最小 的行是第1行。 【输入输出样例2】 count.in 17 18

1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 count.out 60 3 5

【样例2解释】 样例2如题目描述。 【数据范围约定】

所有的输入数据保证1≤n, m≤100。 【问题分析】

给出一张黑白图片,输出黑色方格的总数,黑色方格数目最多的行的行号及黑色方格数目最少的行的行号。具体见【问题描述】。 【算法分析】

直接模拟,枚举每一行。 【参考程序】

var n,m,max,min,v1,v2,i,j,x,s,tot:longint;

begin

assign(input,'count.in'); reset(input);

assign(output,'count.out'); rewrite(output); max:=-1; min:=101; read(n,m); for i:=1 to n do begin s:=0;

for j:=1 to m do begin read(x); if x=0 then begin

inc(s); inc(tot); end; end;

if s>max then begin

max:=s; v1:=i; end;

if s

min:=s; v2:=i; end; end;

writeln(tot,' ',v1,' ',v2); close(input); close(output); end.

2.转圈游戏(circle.pas)

【问题描述】

n个小朋友(小朋友从0到n-1进行编号)围坐一圈玩游戏。按照顺时针方向依次给 n 个位置编号,也是从0到n-1。最初,第0号小朋友在第0号位置,第1号小朋友在第1号

位置,??,依此类推。

游戏规则如下:每一轮给出两个整数a、b。若a的值等于1,则所有小朋友依次逆时针转b个位置;若a的值等于2,则所有小朋友依次顺时针转b个位置。

比如:a=2,b=3,那么第0号位置上的小朋友顺时针转到第3号位置,第1号位置上的小朋友顺时针转到第4号位置,??,第n-3号位置上的小朋友顺时针转到第0号位置,第n-2号位置上的小朋友顺时针转到第1号位置,第n-1号位置上的小朋友顺时针转到第2号位置,一轮转圈结束。 依照上面的游戏规则,请问进行q轮后,第0到n-1号位置上的小朋友的编号分别是什么? 【输入数据】

输入文件circle.in:输入从文件中读取,输入共q+1行。

第1行是两个整数n和q(1≤n≤100000, 0≤q≤200000),表示n个小朋友要进行q轮转圈游戏,两个整数间用空格分隔。

第2行到第q+1行,每行两个用空格分隔的整数。其中第i+1行两个整数为ai 和bi (ai=1 或者ai=2, 0≤bi≤n-1),表示第i 轮转圈的信息。若ai=1,则所有小朋友依次向逆时针 方向转bi 个位置,若ai=2,则所有小朋友依次向顺时针方向转bi 个位置。 【输出数据】

输出文件circle.out:结果输出到文件中。

输出共n行,每行包含一个整数,第i 行整数表示经过转圈后第i-1号位置上的小朋友的编号。

【输入输出样例1】 circle.in 4 1 2 3

circle.out 1 2 3 0

【样例1解释】

4个小朋友参加转圈游戏,转圈共进行了1轮,在这轮转圈游戏中,所有小朋友依次向顺时针方向转了3个位置,第0号小朋友转到第3号位置,第1号小朋友转到了第0号位置,第2号小朋友转到了第1号位置,第3号小朋友转到了第2号位置,所以最后第0号位置到第3号位置上的小朋友编号分别是1,2,3,0。 【输入输出样例2】 circle.in 5 3 1 1 2 2 1 3

circle.out 2 3 4 0 1

【样例2解释】

5个小朋友参加转圈游戏,转圈共进行了3轮。在第1轮转圈游戏中,所有小朋友依次向逆时针方向转了1个位置。在第2轮转圈游戏中,所有小朋友依次向顺时针方向转了2个位置。在第3轮转圈游戏中,所有小朋友依次向逆时针方向转了3个位置。所以最后第0号位置到第4号位置上的小朋友编号分别是2,3,4,0,1。 【数据范围约定】

对于70%的数据,1≤n≤1000,0≤q≤2000。

对于100%的数据,1≤n≤100000,0≤q≤200000。 【问题分析】

求n个人按输入规则进行q轮转圈后,每个位置上的人对应的编号。 【算法分析】

模拟,只要统计出每个人最后相当于逆时针转了多少距离即可。 【参考程序】

var x,i,v,n,m,a,b:longint;

begin

assign(input,'circle.in'); reset(input);

assign(output,'circle.out'); rewrite(output); read(n,m); for i:=1 to m do begin read(a,b);

if a=1 then v:=(v-b) mod n else v:=(v+b) mod n; end;

for i:=0 to n-1 do begin

x:=(i-v) mod n;

while x<0 do x:=x+n;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库2013年慈溪市小学生计算机程序设计竞赛复赛试题解题报告在线全文阅读。

2013年慈溪市小学生计算机程序设计竞赛复赛试题解题报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/405521.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: