在一个矩形的灰度图像上,每个像素点或者是黑色的或者是白色的。黑色像素点用1表示,白色像素点用0表示。现在要求你编写一个程序,计算每列上黑色像素点的个数并输出。如下图所示是一个68的黑板图像。
110011110110101011110110011001001010010001010110
输入
输入有多组组。每组的第一行有2个整数m、n,(1<=m,n<=100)。接着有m行,每行有n个数字,每个数字是0或1,之间用一个空格分开。
输出
对图像数据,依次一行输出图像中每列黑色像素点的总数。
样例输入1
35
11001
01101
11110
68
11001111
01101010
11110110
01100100
10100100
01010110
样例输出1
2321235422541
《神无月》作为盛大游戏2017年的全新原创大作,其开发团队在自研实力强大的传世工作室基础之上,还有美树本晴彦等日本一线知名画师及日本游戏音乐大师崎元仁加盟参与制作。目前正在不限号内测中,有很多玩家进入到神无月的世界中。
在神无月中,有着玩家之间切磋的排位赛,其段位主要分为五大段位,从低到高依次为:新兵、菁英、战将、统帅、王者。每个玩家只有从新兵段位慢慢努力,一点点晋级才能到达王者段位。成为一个王者是每一个玩家的追求和心愿。
假设神无月的段位系统如下:
从低到高的段位依次简记为:D、C、B、A、S。玩家打排位赛,每胜利1局增加10分,输1局扣除5分。每一个段位都需要积分,累计100分才可以进入晋级赛,晋级赛采用三局两胜制(3局中达到2局胜利就晋级成功,有2局失败就算晋级失败,连胜或连败两局,第三局不需要打了)。晋级成功后,成为下一个段位,积分变为0,重新开始算分;如果晋级失败,则积分变为60,重新开始算分。为方便计算,如果该玩家一直输,积分降为0后,不再降分,也不会掉段位。
大圣同学最近对神无月非常喜欢,一直在努力成为王者。他从新兵0分开始打排位赛(刚开始处在段位D),他告诉你最近若干场比赛的最后胜利情况,请你写个算法猜猜他现在所处的段位。当段位到达S时,段位将不再提高。
有若干组数据。每组的第一行为一个N(0 对于每组比赛数据,输出最后所处的段位的一个英文字符(D、C、B、A、S这五个段位中的一个)。 1511111111111110130111111111111101110111111110111样例输出1 院长给大家一行由大写字母(A-Z)和小写字母(a-z)组成的字符串,允许同学们在这个字符串里面任意挑选若干个字符,问最多可以组成多少个ILOVECES(不区分大小写,没有空格,即只要有这8个字符就可以组成一个)。 多组输入,每组一行,输入一个字符串。字符串长度<=100000。 每组输出一行答案,如题意。 IlovecesiLOVECES样例输出1 Tony最近喜欢上了龙之谷游戏,所以他想叫上他的好友组建一个公会来一起享受这款游戏。 Tony一共有n个好友,他可以叫上任意k(1<=k<=n)个好友来组建公会,并且所有好友都会答应他的请求。问Tony一共可以有多少种方案组建这个公会? 只要不是完全相同的人组建的方案视为不同方案,并且Tony至少要叫上一个人。 多组输入,每组一行,输入一个正整数n(1<=n<=1000000000)。 每组输出一行,输出方案数。(对1000000007取膜) 2样例输出1 3 ClaireRedfield在龙之谷游戏的一次任务中获得了一个上了锁的宝箱,上面刻了一串由小写字母构成的字符串A和一个数字m。 Claire觉得这个太简单了所以要你帮她完成。 多组输入,每组一行,输入一个字符串A和一个正整数m。字符串长度<=10,2<=m<=9。 b2 1 1#include 如果一个序列有奇数个正整数组成,不妨令此序列为a1,a2,a3,...,a2k+1(0<=k),并且a1,a2...ak+1是一个严格递增的序列,ak+1,ak+2,...,a2k+1,是一个严格递减的序列,则称此序列是A序列。 比如12543就是一个A序列。 现在Jazz有一个长度为n的数组,他希望让你求出这个数组所有满足A序列定义的子序列里面最大的那个长度。(子序列可以不连续) 比如125436789,最长的A序列子串是12543。 多组输入,每组两行。第一行是n,表示给的数组的长度。第二行有n个数(int范围),即给你的数组。1<=n<=500000。 每组输入输出一行,即最长的A序列子串的长度。 9 125436789 5 下面给出AC代码: 最近,盛大计划开发一款手游,以下是简化版。系统和我方各有n头怪兽,每一头怪兽都有生命值和攻击力,并且当怪兽A攻击怪兽B,如果怪兽B的生命值高于怪兽A的攻击力,则怪兽B的生命力减少A的攻击力的数值,否则怪兽B将死亡。我方已经通过一些手段得知了系统怪兽的出战序列,我方想要知道,我方是否可以合理安排怪兽的出战序列,保证当系统的n头怪兽全部死亡时,而我方至少还存在一头怪兽。 所有怪兽是每秒攻击一次,即如果A和B战斗,A受到B的伤害的同时,B也受到A的伤害,直到一方死亡,换序列中的下一个怪兽,继续战斗。 第一行一个整数T,表示测试组数。对于每组数据,第一行输入一个整数n,1<=n<=10,表示怪兽的数目。接下来n行,表示系统n头怪兽的出战序列,每一行两个整数v,a,1<=v<=1000,1<=a<=100.其中v表示生命值,a表示攻击力。接下来n行,表示我方n头怪兽,但是出战序列可以由我方自己安排。每行两个整数,含义类似。 每组数据输出一行。如果我方可以通过合理安排怪兽的出战序列,保证当系统的n头怪兽全部死亡,而我方至少还存在一头怪兽,那么输出YES;否则输出NO 2 54 43 32 55 NO YES 题解思路:因为我们要用最少的血量大最多的攻击力所以将我方怪兽按攻击力从大到小排序然后生命力按从小到大排序然后跟系统怪兽对打判断是否能赢即可 给定一个长度为n的非负整数序列,下标为0,1,…,n1. 定义:sequence(K):由下标为K的倍数组成的子序列,即下标为0,K,2K,...,[n1/k]k query(K,S):询问sequence(K)中的第S大的数字 第一行一个整数T,表示测试组数。对于每组数据,第一行输入两个整数n,m,1<=n<=20000,1<=m<=100000,n表示序列的长度,m表示询问个数。接下来一行是n个整数a0,a1,..,an1,0<=ai<231,i=0,1,…,n1,表示序列。接下来m行,每行两个整数K,S0 每组数据对于每个询问输出一行,若sequence(K)的元素个数小于S,输出1;否则输出query(K,S) 52 25341 24 21 -1 题解思路:用vector容器存k>=1&&k 有一天,空和白很无聊,决定玩盛大游戏,考虑到两个人玩,他们随便掏了一个游戏出来:在一个nm的棋盘上,首先把史蒂芬妮·多拉放在左上角(1,1)的位置。每次一个人可以将她往下,往右,往右下丢一格。当前回合,谁不能丢史蒂芬妮,谁就输了。(注意,不可以把活人丢出棋盘啦!)游戏总是空先手。 白说,这是一个垃圾游戏!我们每次把史蒂芬妮丢素数个位置吧!(换句话说,每次丢2或3或5或7或…格)空答应了。 我们都知道,空和白都很聪明,不管哪方存在一个可以必胜的最优策略,都会按照最优策略保证胜利。 玩了一局,空已经知道了这个游戏的套路,现在他决定考考你,对于给定的n和m,空是赢是输?如果空必胜,输出“Sora”(无引号);反之,输出“Shiro”(无引号)。 第一行有一个T表示数组组数,1<=T<100000从第二行开始,每行为棋盘大小,n、m分别表示行列。1= 对于每组数据,按题目要求输出。 4 11 22 1010 3030 Shiro Sora 欧拉函数(n)被定义1~n中与n互质的数的个数。例如(5)=4,因为1,2,3,4这四个数字与5互质。 定义f函数: f(n)=∑i=233n233(i)[n/i] 其中[n/i]表示n除以i所得到的商 第一行一个整数T,表示测试组数。对于每组数据,输入一行,包含一个数字n,466<=n<=108 每组数据输出一行,表示函数值f(n)对1000000007取模 1068 972 293824 222698 最近盛大的一款游戏传奇世界极其火爆。游戏玩家John,想购买游戏中的装备。已知游戏的商店里有n件装备,第i件装备具有属性值ai,购买需要花费bi个金币。John想去购买这些装备,但是账号中只有m个金币,John是个很贪婪的家伙,他想购买尽可能多的装备。并且在保证购买到最多件装备的情况下,他还想让他所购买的装备当中拥有最小属性值的装备的属性值尽可能大。 输入测试组数T,每组数据第一行输入整数n(1<=n<=100000)和m(1<=m<=109),接下来有n行,第i行有两个数ai,bi(1<=ai,bi<=10000). 对于每组数据,输出两个数字,第一个数字代表John最多可以购买的装备数,第二个数代表在John购买最多件装备的前提下,所购买的装备当中拥有最小属性值的装备的最大属性值(输入数据保证至少可以购买一件装备) 23 13 题解思路:先把装备按金钱从小到大排序然后求最多可以买多少个装备然后二分进行查找看最大能买最小的是多少即可 第一行有一个整数T表示数据组数。(T<=20)接着有T组数据,每组数据第一行是整数n表示零件个数。接着依此有两个nn的矩阵,都只由0和1构成。(2<=n<=14)其中第一个矩阵表示零件两两之间的相邻关系,第i行第j列为1表示第i个零件与第j个零件相邻,第二个矩阵表示零件两两之间的排斥关系,第i行第j列为1表示第i个零件与第j个零件排斥。数据保证矩阵根据对角线对称,并保证通过零件的相邻关系可以最终拼接完成。 每组输入一个整数表示拼接过程的最小排斥力之和。 0011 0010 1100 1000 0101 1011 0100 6 小Y正在观测y地区的风力情况,他在一条直线上依此设定了n个观测点,并观测与直线垂直方向的风力值,风力有时是正向的也有时是反向的,规定正向时的风力值为正数,他发现每次风力值的变化都可以表示为观测点上一条线段[L,R]上的同时增强或者减弱。小Y希望能够实时统计这些观测点的数据,并且实时分析这些观测点在历史中到达的风力最大绝对值,但是他无法同时对大量的观测点进行分析,更重要的是他记不住这些观测点过去的风力大小,于是他希望你来用计算机帮助他完成这个任务。 你简化了这个问题,将问题分为两种查询: 1.对观测点[L,R]上的风力正向增强X。(X为负数表示正向减弱,即反向加强) 2.查询观测点A上的历史风力最大绝对值。 第一行有一个整数T表示数据组数。(T<=10)接着有T组数据,每组数据第一行是整数n和q,表示观测点个数和查询次数。第二行有n个数a1,...,an,表示每个观测点的风力初始值。接着有q行,表示q次操作,格式为:1LRX:表示对[L,R]线段上的正向风力同时增强x。2A:表示查询A点的历史风力最大绝对值。1<=n,q<=100000。1<=L,R,A<=n10000<=ai,X<=10000 对每次询问2,输出一个数字表示风力值并换行。 56 1-123-3 1151 124-5 题解思路:用线段树更新然后这个线段的历史最小历史最大值,如果用lazy思想更新是个难点 一开始把全部数值清0,然后用懒人思路如果该线段被更新那就求历史最低值和历史最高值也就是MIN和MAX,然后如何用lazy思想更新呢就下一段线段的历史最高等于上一段的历史最高加上下面一段还没有更新的lazy取两者最大,min的一样 你扫了一眼代码发现加密的公式为b=ae%m,其中e是质数。 进一步分析发现m=pq,p和q都为质数,p!=q, 作为一个计算机高手,你早就对加密算法烂熟于心,一眼就看出这个程序的算法和原理,找到了破解的方法,发现小Y疏忽在与给了你一个不够大的m。 你知道解密的公式与加密对称,为a=bd%m。 但是你仍然无法心算解出这个d,因此你需要借助计算机来将密文破解。 第一行有一个整数T表示数据组数。(T<=100)接着有T组数据,每组数据两行。第一行有四个数e、p、q和n,其中e、p、q如题所描述,n表示需要解密的数字序列长度。第二行是需要解密的数字序列a1..an。1 保证解密的结果即原数列的值小于min(p,q)并大于等于01<=n<=100保证m有且仅有两个不同的质因数p和q,并且一定存在一个题中描述的参数d使得解密公式能够无损解密出所有0~min(p,q)1范围之间的数字。 对于每组数据输出一行,表示解密后的数字序列,数字之间以空格隔开。 519293 335440514 656777 提示 对于样例,存在d=101使得解密公式成立。 注意m和ai的大小可能超过int的范围 思路: 要求最小的正整数d,那么可以用扩展欧几里得求的。 然后对每个密文跑超级快速幂就能得到答案 详细的数学推导过程: 因为p,q为素数,那么可知: 可以推出 再由题目给出的公式: 将以第一个式子里的b的同余式代入第二个式子: 那么结合一下: 可以推出: 因为: 所以: 转换一下: 然后就可以直接用扩展欧几里得求解最小的正整数d了。 需要注意的是解密的时候由于m太大,直接跑快速幂可能会出现溢出,需要用超级快速幂。 第一行有一个整数T表示数据组数。(T<=50)接着有T组数据,每组数据第一行有两个整数n、m。(2<=n,m<=100)接着有n行,m列的迷宫矩阵。其中字符'S','T'分别表示唯一的迷宫起点和终点,字符'#'表示无法通行的障碍,字符'.'表示空地,字符'i','o'分别表示传送门入口和出口。(传送门入口与出口数量相同,并且数量都不超过5) 344Siii..oo####T..o44S..ii####.#oT.o#54o.Si###i.oo#i###i#oT样例输出1 9-116题解思路:在队友的指导下碰到第一个传送点传送后肯定最优因为你传送完第一个第二个就不用传了递归下去还是跟之前一样的情况然后再未知的情况下有传送点那么就是传送点中最恶劣情况下的最少走的步数然后如果不用传送阵能走到的话就是min(不用,用) 然后就是BFS注意因为可能重复走来走去所以要设最大步数是1e6