A - 摆仙果 [PSA]
Adrian, Bruno与Goran三人参加了仙界的宴会,宴会开始之前先准备了一些仙果供三人品尝,但是仙果的摆放有顺序要求,如果把仙果摆错了位置,仙果就会消失而无法品尝到。
由于三人是第一次来仙界,也不知道究竟是怎样的摆放方法,它们就按自己的想法摆放仙果。假设仙果种类共有3种,分别记为A,B,C,那么三人的摆放方法分别为
Adrian采用ABCABCABC...的排列方式
Bruno采用BABCBABCBABC...的排列方式
Goran采用CCAABBCCAABB...的排列方式
现在告诉你正确的仙果的摆放方式,请你算一下谁能吃到的仙果最多
数据输入
第1行有一个整数N,表示共有N个仙果。第2行有N个仅由ABC组成的字符,表示仙果正确的摆放位置。
- 1 ≤N≤100
数据输出
第1行输出一个整数,代表一个人最多有几个仙果摆放正确。接下来的行中,输出摆放仙果数最多的人名,若有多人都摆放对了最多数量的仙果,则按字典序在每行中输出1个名字
样例1
输入样例
5 BAACC
输出样例
3 Bruno
样例2
输入样例
9 AAAABBBBB
输出样例
4 Adrian Bruno Goran
很简单的一道题 刷刷几分钟就做完了
注意直接取余就可以了 没必要a*N的去加
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
String s = sc.nextLine();
String a = "ABC";
String b = "BABC";
String c = "CCAABB";
int as=0,bs=0,cs=0,ans;
for (int i = 0; i < s.length(); i++) {
char temp = s.charAt(i);
if(temp==a.charAt(i%3)) {
as++;
}
if(temp==b.charAt(i%4)) {
bs++;
}
if(temp==c.charAt(i%6)) {
cs++;
}
}
// System.out.println(as+" "+bs+" "+cs);
ans = as>bs?as:bs;
ans = ans>cs?ans:cs;
System.out.println(ans);
if(as==ans)
System.out.println("Adrian");
if(bs==ans)
System.out.println("Bruno");
if(cs==ans)
System.out.println("Goran");
}
}