C++ 星球争霸

题目描述

TDOG星球分为 nn 个独立的王国。在 William 和 John 开始游戏之前,他们需要按游戏规则确定各自统治哪些王国。

王国统治权的分配规则如下:

  • 名称最后一个字母为元音字母的王国归 William 统治。
  • 名称最后一个字母为辅音字母的王国归 John 统治。
  • 特殊的,名称最后一个字母为 y 或 Y 的王国无人统治,不属于任何一方。

已知每个王国的名称,请你帮他们确定每个王国应该归谁统治。

输入格式

第一行一个整数 nn 表示TDOG星球上的王国数量。

接下来的 nn 行,每行是一个由英文字母组成的字符串,第 ii 行对应 ii 号王国的名称 SiSi。

输出格式

输出共 nn 行,第 ii 行对应 ii 号王国的统治者。

归属于 William 的王国输出 William ;

归属于 John 的王国输出 John ;

无人统治的王国输出 No

测试样例

输入样例 #1

3
Mollaristan
Auritania
Zizily

输出样例 #1

John
William
No

样例解释

样例一说明

Mollaristan 王国名称最后一个字母 n 是辅音字母。归 John 统治。

Auritania 王国名称最后一个字母 a 是元音字母。归 William 统治。

Zizily 王国名称最后一个字母 y 属于游戏规则中的特殊情况,无人统治。

数据范围

对于 20%20% 的数据,所有王国名称均只由一个字符组成。

对于 100%100% 的数据,有 1≤n≤1001≤n≤100。数据保证任一王国名称长度在 1∼1001∼100 范围内,且不存在除大小写字母以外的字符。

提示说明

元音字母有 A、E、I、O、U、a、e、i、o、u 。其余为辅音字母

代码如下:

#include<iostream>
using namespace std;
int n,b[10005]; 
string a;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a;
		if(*a.rbegin()=='a'||*a.rbegin()=='e'||*a.rbegin()=='i'||*a.rbegin()=='o'||*a.rbegin()=='u'||*a.rbegin()=='A'||*a.rbegin()=='E'||*a.rbegin()=='I'||*a.rbegin()=='O'||*a.rbegin()=='U'){
			b[i]=1;
		}else if(*a.rbegin()=='y'||*a.rbegin()=='Y'){
			b[i]=3;
		}else{
			b[i]=2;
		}
	}
	for(int i=1;i<=n;i++){
		if(b[i]==1){
			cout<<"William"<<endl; 
		}else if(b[i]==2){
			cout<<"John"<<endl;
		}else if(b[i]==3){
			cout<<"No"<<endl;
		}
	}
	return 0;
}

求点赞!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KJM666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值