Opponents
题面翻译
问题描述
小白有 n 个对手,他每天都要和这些对手PK。对于每一天,如果 n 个对手全部到齐,那么小白就输了一场,否则小白就赢了一场。特别的,如果某天一个对手都没有到,也算小白赢。现在已知对手 d 天的出场情况,请计算小白最多能连胜多少场。
输入输出格式
输入格式
第一行,两个整数 n , d ( 1 ≤ n,d ≤ 100 )。接下来 d 行,每行 n 个 0 或 1 的整数,依次表示这一天所有对手的到场情况, 1 表示到场, 0 表示缺席。
输出格式
题目描述
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.
输入格式
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.
输出格式
Print the only integer — the maximum number of consecutive days that Arya will beat all present opponents.
样例 #1
样例输入 #1
2 2
10
00
样例输出 #1
2
样例 #2
样例输入 #2
4 1
0100
样例输出 #2
1
样例 #3
样例输入 #3
4 5
1101
1111
0110
1011
1111
样例输出 #3
2
提示
In the first and the second samples, Arya will beat all present opponents each of the $ d $ days.
In the third sample, Arya will beat his opponents on days $ 1 $ , $ 3 $ and $ 4 $ and his opponents will beat him on days $ 2 $ and $ 5 $ . Thus, the maximum number of consecutive winning days is $ 2 $ , which happens on days $ 3 $ and $ 4 $ .
solution
采用贪心的思想,记录当前连胜数,并记录最大连胜数,当前连胜数大于最大连胜数时,令最大连胜数等于当前连胜数,当出现失败时,最大连胜数记为0,胜利则加1
//
// Created by Gowi on 2023/12/2.
//
#include <iostream>
#include <string>
#include <algorithm>
#define N 120
using namespace std;
int main() {
int n, d;
string opponents[N];
cin >> n >> d;
for (int i = 0; i < d; ++i) {
cin >> opponents[i];
}
int t = 0, res = 0;
for (int i = 0; i < d; ++i) {
int flag = 1;
for (int j = 0; j < n; ++j) {
if (opponents[i][j] == '0') {
flag = 0;
t++;
break;
}
}
if (flag == 1) {
t = 0;
}
res = max(res, t);
}
cout << res << endl;
return 0;
}
原文地址:https://blog.csdn.net/qq_43309286/article/details/134754647
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_28086.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!