【贪心算法】 Opponents

这道题写伪代码就好了!
Description

Arya has n opponents in the school. Each day he will fight with all opponents who are present this day. His opponents have some fighting plan that guarantees they will win, but implementing this plan requires presence of them all. That means if one day at least one of Arya's opponents is absent at the school, then Arya will beat all present opponents. Otherwise, if all opponents are present, then they will beat Arya.

For each opponent Arya knows his schedule --- whether or not he is going to present on each particular day. Tell him the maximum number of consecutive days that he will beat all present opponents.

Note, that if some day there are no opponents present, Arya still considers he beats all the present opponents.

Input

The first line of the input contains two integers n and d (1 ≤ n, d ≤ 100) --- the number of opponents and the number of days, respectively.

The i-th of the following d lines contains a string of length n consisting of characters '0' and '1'. The j-th character of this string is '0' if the j-th opponent is going to be absent on the i-th day.

Output

Print the only integer --- the maximum number of consecutive days that Arya will beat all present opponents.

Sample Input

2 2

10

00

Sample Output

2

题意

有一个人,要和n个人pk,要pk d天

如果这一天所有人都来了,他就输了

否则这个人就会说胜利

问这个人最多能够连续胜利多少天

题解:

在这个问题中,我们的目标是找到Arya能够连续获胜的最长天数
子结构: 每个子问题是关于从第 i i i天开始 Arya 能够连胜的天数。在贪婪算法中,我们通过选择当前能够获得最大连胜的方案来逐步构建最优解。

如果当前所有的敌人到齐了,Arya失败,当前能连胜的天数被重置为0;如果当前敌人没到齐,也就是输入的string有一个字符为0,Aray能连胜的天数增加一天。

伪代码

这道题老师只要求写伪代码!

cpp 复制代码
function solution(int n, int d)
	temp=0
	ans=0
	for i=0 to d-1 do
		can=0
		input string s
		for j=0 to n-1 do
			if s[j]==0 then
				can=1 //once there is one that is absent, Arya can beat them all.
				break
		if can==1 then
			temp++
		else temp=0
		ans=max{ans,temp}
    return ans
相关推荐
qq_4856689933 分钟前
算法习题--蓝桥杯
算法·职场和发展·蓝桥杯
waves浪游36 分钟前
类和对象(中)
c语言·开发语言·数据结构·c++·算法·链表
做人不要太理性40 分钟前
【算法一周目】滑动窗口(2)
c++·算法·leetcode·哈希算法·散列表·滑动窗口
青い月の魔女40 分钟前
数据结构初阶---复杂度
c语言·数据结构·笔记·学习·算法
汤姆和杰瑞在瑞士吃糯米粑粑40 分钟前
【优先算法学习】双指针--结合题目讲解学习
c++·学习·算法
m0_5474866642 分钟前
数据结构试题库1
java·数据结构·算法
多多*43 分钟前
后端并发编程操作简述 Java高并发程序设计 六类并发容器 七种线程池 四种阻塞队列
java·开发语言·前端·数据结构·算法·状态模式
摆烂小白敲代码1 小时前
【算法】连通块问题(C/C++)
c语言·数据结构·c++·算法·深度优先·图论·广度优先
香菜大丸1 小时前
详解 指针函数,函数指针,函数指针函数
开发语言·c++·算法
cv2016_DL1 小时前
BERT相关知识
人工智能·算法·transformer