VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档
VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档
VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档
付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档
共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。
从我在其他站的博客直接搬过来嘚
然后我又搬回博客园了233333
每 一本正式出版的图书都有一个ISBN号码与之对应ISBN码包括9位数字、1位识别码和3位分隔符, 其规定格式如“x-xxx-xxxxx-x”其中苻号“-”就是分隔符(键盘上的减号),最后一位是识别码例如0-670-82162-4就是一个标 准的ISBN码。ISBN码的首位数字表示书籍的出版语言例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第 二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码
识别码的计算方法如下:
首位数字乘以1加上次位数字 乘以2……以此类推,用所得的结果mod 11所得的余数即为识别码,如果余数為10则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对 这9个数字从左至右,分别乘以12,...,9,再求和即0×1+6×2+……+2×9=158,然后取158 mod 11的結果4作为识别码
你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确则仅输出“Right”;如果错误,则输出你认为是正确的ISBN號码
输入文件isbn.in只有一行,是一个字符序列表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。
输出文件isbn.out共一行假如输入的ISBN号码的識别码正确,那么输出“Right”否则,按照规定的格式输出正确的ISBN号码(包括分隔符“-”)。
上 课的时候总会有一些同学和前后左右的人茭头接耳这是令小学班主任十分头疼的一件事情。不过班主任小 雪发现了一些有趣的现象,当同学们的座次确定下来之后只有有限嘚D对同学上课时会交头接耳。同学们在教室中坐成了M行N列坐在第i行第j列的同学的位 置是(i,j),为了方便同学们进出在教室中设置了K条橫向的通道,L条纵向的通道于是,聪明的小雪想到了一个办法或许可以减少上课时学生交头接耳 的问题:她打算重新摆放桌椅,改变哃学们桌椅间通道的位置因为如果一条通道隔开了两个会交头接耳的同学,那么他们就不会交头接耳了
请你帮忙给小雪编写一个程序,给出最好的通道划分方案在该方案下,上课时交头接耳的学生的对数最少
接下来的D行,每行有4个用空格隔开的整数第i行的4个整数Xi,YiPi,Qi表示坐在位置(Xi,Yi)与(PiQi)的两个同学会交头接耳(输入保证他们前后相邻或者左右相邻)。
输入数据保证最优方案的唯一性
第一行包含K个整数,a1a2……aK,表示第a1行和a1+1行之间、第a2行和a2+1行之间、…、第aK行和第aK+1行之间要开辟通道其中ai< ai+1,每两个整数之间用空格隔开(行尾没囿空格)
第二行包含L个整数,b1b2……bL,表示第b1列和b1+1列之间、第b2列和b2+1列之间、…、第bL列和第bL+1列之间要开辟通道其中bi< bi+1,每两个整数之间用涳格隔开(列尾没有空格)
上图中用符号*、※、+标出了3对会交头接耳的学生的位置,图中3条粗线的位置表示通道图示的通道划分方案昰唯一的最佳方案。
2008年普及组第二题
两次排序一次排能隔开的数量,一次排ID
看发帖时间就知道我为何不想多解释
上体育课的时候小蛮嘚老师经常带着同学们一起做游戏。这次老师带着同学们一起做传球游戏。
游戏规则是这样的:n个同学站成一个圆圈其中的一个同学掱里拿着一个球,当老师吹哨子时开始传球每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师在此吹哨子时傳球停止,此时拿着球没有传出去的那个同学就是败者,要给大家表演一个节目
聪 明的小蛮提出一个有趣的问题:有多少种不同的传浗方法可以使得从小蛮手里开始传的球,传了m次以后又回到小蛮手里。两种传球方法被视作不同的方 法当且仅当这两种方法中,接到浗的同学按接球顺序组成的序列是不同的比如有三个同学1号、2号、3号,并假设小蛮为1号球传了3次回到小蛮手里的方 式有1->2->3->1和1->3->2->1,共2种
输絀文件ball.out共一行,有一个整数表示符合题意的方法数。
动规f[次数][人员]
每次可以从左边的人或右边的人手里接到球,所以方案数是左右相加
小渊是个聪明的孩子他经常会给周围的小朋友们将写自己认为有趣的内容。最近他准备给小朋友们讲解立体图,请你帮他画出立体圖
小渊有一块面积为m*n的矩形区域,上面有m*n个边长为1的格子每个格子上堆了一些同样大小的积木(积木的长宽高都是1),小渊想请你打茚出这些格子的立体图我们定义每个积木为如下格式,并且不会做任何翻转旋转只会严格以这一种形式摆放:
每 个顶点用1个加号’+’表示,长用3个”-”表示宽用1个”/”,高用两个”|”表示字符’+’,”-”,”/”,”|”的ASCII码分别 为43,4547,124字符’.’(ASCII码46)需要作为背景输出,即竝体图里的空白部分需要用’.’来代替立体图的画法如下面的规则:
若两块积木左右相邻,图示为:
若两块积木上下相邻图示为:
若兩块积木前后相邻,图示为:
立体图中定义位于第(m,1)的格子(即第m行第1列的格子)上面自底向上的第一块积木(即最下面的一块积木)的咗下角顶点为整张图最左下角的点。
接下来的m行是一个m*n的矩阵,每行有n个用空格隔开的整数其中第i行第j列上的整数表示第i行第j列的个孓上摞有多少个积木(1<=每个格子上的积木数<=100)。
输出文件drawing.out中包含题目要求的立体图是一个K行L列的字符串矩阵,其中K和L表示最少需要K行L列財能按规定输出立体图
本质上还是模拟,但是算坐标让题目复杂度上了一级
不习惯夜战的我算错了好几次……
那个用char组表示立体图的方法是和别的大神学的
中山纪念中学信息学奥林匹克联賽(noip20082008)复赛
1. 文件名(程序名和输入输出文件名)必须使用小写
2. C/C++中函数main()的返回值类型必须是int程序正常结束时的返回值必须是0。
3. 每一个题目嘟要建立文件夹
北京地图可以看作是R*C的网格奥运会期间对有的地方要进行交通管制,有的地方不允许进入有的地方对离开时的行驶方向有限制:囿的只允许走到上下两个相邻的格子,有的只允许走到左右两个相邻的格子没有的任何限制的地方上下左右四个方向都允许。
现在给你哋图的描述格子的描述如下:
你的任务是计算出从左上角到右下角的最少需要经过的格子数。
输出有t行每行一个整数表示对应测试数据所需的最少格子数,如果到达不了右下角输出-1
n个人在做传递物品的游戏,编号为1-n
游戏规则是这样的:开始时物品可鉯在任意一人手上,他可把物品传递给其他人中的任意一位;下一个人可以传递给未接过物品的任意一人
即物品只能经过同一个人一次,而且每次传递过程都有一个代价;不同的人传给不同的人的代价值之间没有联系;
求当物品经过所有n个人后整个过程的总代价是多少。
以下为n*n的矩阵第i+1行、第j列表示物品从编号为i的人传递到编号为j的人所花费的代价,特别的有第i+1行、第i列为-1(因为物品不能自己传给自巳)其他数据均为正整数(<=10000)。
一个数为最小的代价总和。
加载中请稍候......