【OpenJudge】 小7数字母

本文探讨了在OpenJudge平台上遇到的一个关于小7数字母的编程问题,主要涉及C语言的使用。文章通过分析题目要求,阐述了解题思路,并提供了相应的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  小7数字母






总时间限制: 
1000ms 
单个测试点时间限制: 
10ms 
内存限制: 
256000kB
描述

      小7喜欢研究字符串。

      这天,小7随手在草稿纸上写下了一个大写字母字符串。此时,班长把成绩报告单发到了每位同学的手中。小7看到自己每门都是A(优秀),非常高兴,灵光一闪想到一个问题:在刚刚写下的字符串中,字母A最多连续出现了多少次呢?

      小7立刻数了起来,但这个字符串实在是太长了,希望你帮帮他。

输入
第一行包含一个整数N,表示字符串长度。
第二行包含一个字符串。
输出
第一行包含一个整数,表示该字符串中字母A最多连续出现的次数。
样例输入
5BAACA
样例输出
2
提示
对于30%的数据,N≤100。
对于60%的数据,N≤1000。
对于100%的数据,1≤N≤100000。

Source:
#include<stdio.h>
main()
{
	char c[100000];
	int N,max=0,count=0,i;
	scanf("%d\n,",&N);    //数字与字符交叉输入时需注意\n的应用 
	for(i=0;i<N;i++)
	{
		scanf("%c",&c[i]);  //循环输入 
	}
	
	for(i=0;i<N;i++)
	{
		if(c[i]=='A')   //判断 
		
		{
		count++;
		if(max<count){max=count;}  //取最值 
		}
		else{count=0;}
	}
	printf("%d",max);
}


这里亦可把输入和判断放在一起,但个人觉得分开更清晰.
### 关于OpenJudge 004 宠物小精灵之收服题目解析 #### 题目描述 在《宠物小精灵》的世界里,训练师们通过战斗来增加经验值并尝试捕捉新的宠物小精灵。当两个宠物小精灵进行对决时,胜利者获得经验点,而失败的一方可能会被对方捕获。对于特定的宠物小精灵来说,如果其对手的经验值大于自身的防御力,则该宠物小精灵会被击败;反之则会赢得这场战斗[^1]。 #### 据结构设计 为了模拟这个过程,可以定义一个类 `Pokemon` 来表示每只宠物小精灵的信息,包括名称、攻击力(Attack)、防御力(Defense)以及当前经验值(Experience)。此外还需要维护一个列表用于存储所有的宠物小精灵实例以便后续操作: ```python class Pokemon: def __init__(self, name, attack, defense, experience=0): self.name = name self.attack = attack self.defense = defense self.experience = experience def battle(self, opponent): """Simulate a battle between two Pokemons.""" if self.attack > opponent.defense: # This Pokémon wins the fight and gains some EXP. gained_exp = abs(self.attack - opponent.defense) self.experience += gained_exp print(f"{self.name} won! Gained {gained_exp} EXP.") return True elif self.attack <= opponent.defense: # Opponent's defense is too strong; this Pokémon loses. lost_hp = abs(opponent.attack - self.defense) print(f"{opponent.name}'s defense was too powerful!") return False ``` #### 解决方案概述 解决此类问题的关键在于理解如何有效地管理资源分配——即合理安排哪几只宠物小精灵参与战斗以最大化团队整体实力的增长。一种可能的方法是从给定的小精灵队伍中挑选出最有可能战胜目标敌人且能获取最多经验值的那个成员去挑战敌方单位。这可以通过遍历整个可用队列并对每个候选对象计算预期收益来进行评估得出最优解。 #### 实现细节 具体实现上,在每次选择要派出哪个宠物小精灵之前,应该先检查是否有任何己方队员能够成功打败即将面对的目标。如果有多个符合条件的选择,则优先考虑那些预计可以获得更高奖励的人选。一旦决定了派遣谁上前线之后,就执行相应的攻击逻辑,并更新双方的状态直到完成全部回合为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值