记数问题NOIP普及组2013第一题.doc

记数问题( \o NOIP普及组2013 NOIP普及组2013第一题) (count.cpp/c/pas) 描述 试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1 到 11 中,即在 1、2、3、4、5、6、7、8、9、10、11 中,数字 1 出现了 4 次。 【输入】 输入文件名为 count.in。 输入共 1 行,包含 2 个整数 n、x,之间用一个空格隔开 【输出】 输出文件名为 count.out。 输出共 1 行,包含一个整数,表示 x 出现的次数。 【输入输出样例】 count.in count.out 11 1 4 限制 每个测试点1s。 【数据说明】 对于 100%的数据,1≤ n ≤ 1,000,000,0 ≤ x ≤ 9。 表达式求值(noip2013普及组第二题) (expr.cpp/c/pas) 描述 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。 【输入】 输入文件为 expr.in。 输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“+”和乘 ,且没有括号,所有参与运算的数字均为 0 到 231-1 之间的整数。输入数据保 法运算符“*” 证这一行只有 0~ 9、+、*这 12 种字符。 【输出】 输出文件名为 expr.out。 输出只有一行,包含一个整数,表示这个表达式的值。注意:当答案长度多于 4 位时, 请只输出最后 4 位,前导 0 不输出。 【输入输出样例 1】 expr.in expr.out 1+1*3+4 8 【输入输出样例 2】 expr.in expr.out 1+1234567890*1 7891 【输入输出样例 3】 expr.in expr.out 1+1000000003*1 4 【输入输出样例说明】 样例 1 计算的结果为 8,直接输出 8。 样例 2 计算的结果为 1234567891,输出后 4 位,即 7891。 样例 3 计算的结果为 1000000004,输出后 4 位,即 4。 【数据范围】 对于 30%的数据,0≤表达式中加法运算符和乘法运算符的总数≤100; 对于 80%的数据,0≤表达式中加法运算符和乘法运算符的总数≤1000; 对于 100%的数据,0≤表达式中加法运算符和乘法运算符的总数≤100000。 小朋友的数字(noip2013普及组第三题)(number.cpp/c/pas) 描述 有 n 个小朋友排成一列。每个小朋友手上都有一个数字,这个数字可正可负。规定每个小朋友的特征值等于排在他前面(包括他本人)的小朋友中连续若干个(最少有一个)小朋友手上的数字之和的最大值。 作为这些小朋友的老师,你需要给每个小朋友一个分数,分数是这样规定的:第一个小朋友的分数是他的特征值,其它小朋友的分数为排在他前面的所有小朋友中(不包括他本人),小朋友分数加上其特征值的最大值。 请计算所有小朋友分数的最大值,输出时保持最大值的符号,将其绝对值对 p 取模后输出。 格式 【输入】 输入文件为 number.in。 第一行包含两个正整数 n、p,之间用一个空格隔开。 第二行包含 n 个数,每两个整数之间用一个空格隔开,表示每个小朋友手上的数字。 【输出】 输出文件名为 number.out。 输出只有一行,包含一个整数,表示最大分数对 p 取模的结果。 【输入输出样例 1】 number.in number.out 5 997 21 1 2 3 4 5 【输入输出样例说明】 小朋友的特征值分别为 1、3、6、10、15,分数分别为 1、2、5、11、21,最大值 21 对 997 的模是 21。 【输入输出样例 2】 number.in number.out 5 7 -1 -1 -1 -1 -1 -1 【输入输出样例说明】 小朋友的特征值分别为-1、-1、-1、-1、-1,分数分别为-1、-2、-2、-2、-2,最大值 -1 对 7 的模为-1,输出-1。 【数据范围】 对于 50

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档