厦门理工oj 1401 幽游@之刻

欧布先生在闲暇之余喜欢玩网络游戏打发时间。最近,他准备开始玩一款新出的热门网游“幽游@之刻”。他注册账号登录游戏后,开始选择玩家角色。该游戏有N个角色供玩家选择,每个角色有好多不同的属性,不过欧布先生选角色仅根据下原则:
(1) 只选男角色,不选女角色;
(2) 优先选择攻击力值最大的角色;
(3) 如果两个角色的攻击力一样,那么就选择防御力值最大的角色。
假设该游戏满足以上原则的角色`“只有一个”,那么请你帮欧布先生找出他。
Input

第一行为一个正整数N,表示角色数量。
之后为N行数据,每行数据格式如下:
id,attack,defence,sex
id为整数,表示角色编号;attack 为角色攻击力;defence 为角色防御力;sex 为角色性别,只能为M(男)或F(女)。

Output

角色id号。

Sample Input

3
1,100,80,F
2,90,70,M
3,90,65,M
Sample Output

2

#include<stdio.h>
//by link 7
struct game//定义一个结构体来存数据
{
	int id[100],attack[100],defence[100];
	char sex[100];
};
int main(void)
{
	struct game game1;
	int play,j=0,z,i=0,bi1,bi2,h=0;
	int count[100];
	scanf("%d",&play);
	for(j=0;j<play;j++){
	scanf("%d,%d,%d,%c",&game1.id[j],&game1.attack[j],&game1.defence[j],&game1.sex[j]);
	}
	for(z=0;z<play;z++){
		if(game1.sex[z]=='M'){count[i]=game1.id[z];i++;}//先判定性别,顺便记录位置
		else {continue;};
		};
			bi1=count[h]-1;
			bi2=count[h+1]-1;
		for(h=0;h<i-1;){//进行比较
			if(game1.attack[bi1]>game1.attack[bi2]){h=h+1;bi2=count[h+1]-1;continue;
			}
			if(game1.attack[bi1]<game1.attack[bi2]){h=h+1;bi1=bi2;bi2=count[h+1]-1;continue;
			}
			if(game1.attack[bi1]==game1.attack[bi2]){
			if(game1.defence[bi1]>game1.defence[bi2]){h=h+1;bi2=count[h+1]-1;continue;}
			if(game1.defence[bi1]<game1.defence[bi2]) {bi1=bi2;h=h+1;bi2=count[h+1]-1;continue;}
			}
		}
		printf("%d",bi1+1);
	return 0;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值