Kickstart Practice Round 2017---A
Problem
The Constitution of a certain country states that the leader is the person with the name containing the greatest number of different alphabet letters. (The country uses the uppercase English alphabet from A through Z.) For example, the name GOOGLE
has four different alphabet letters: E, G, L, and O. The name APAC CODE JAM
has eight different letters. If the country only consists of these 2 persons, APAC CODE JAM
would be the leader.
If there is a tie, the person whose name comes earliest in alphabetical order is the leader.
Given a list of names of the citizens of the country, can you determine who the leader is?
Input
The first line of the input gives the number of test cases, T. T test cases follow. Each test case starts with a line with an interger N, the number of people in the country. Then N lines follow. The i-th line represents the name of the i-th person. Each name contains at most 20 characters and contains at least one alphabet letter.
Output
For each test case, output one line containing Case #x: y
, where x
is the test case number (starting from 1) and y is the name of the leader.
Limits
1 ≤ T ≤ 100.
1 ≤ N ≤ 100.
Small dataset
Each name consists of at most 20 characters and only consists of the uppercase English letters A
through Z
.
Large dataset
Each name consists of at most 20 characters and only consists of the uppercase English letters A
through Z
and ' '(space).
All names start and end with alphabet letters.
Sample
Input |
Output |
2 |
Case #1: JOHNSON |
import java.io.*;
public class CountryLeader {
public static void main(String[] args) {
File outfile = new File("D://Code//Java//workspace//kickstart2017//src//kickstart2017//outputforsmall.txt"); //创建输出文件对象
try {
FileWriter out =new FileWriter(outfile); //创建FileWriter对象
BufferedWriter bufw = new BufferedWriter(out); //创建BufferedWriter类对象
FileReader fr = new FileReader("D://Code//Java//workspace//kickstart2017//src//kickstart2017//A-small-practice.in");
BufferedReader bufr = new BufferedReader(fr);
String cases = null;
//读取第一行信息得到case的值,为字符变量
cases = bufr.readLine();
int numofcases = Integer.parseInt(cases); //字符串转变成int常量
for(int j = 1;j < numofcases+1; j++){ //对每一个案列分别进行处理
String N = null;
N = bufr.readLine();
int numofnames = Integer.parseInt(N);
int numofcharacter[] = new int[numofnames]; //数组存放每个名字的字母个数
String nameofarrays[] = new String[numofnames];//将所有名字放入到一个字符串数组中去
for(int k = 0;k < numofnames; k++){ //对每个名字即每行进行处理
int ch[] = new int[26]; //数组存放26个字母的出现次数
String names = bufr.readLine(); //读取一行,得到名字中包含所有的字母
nameofarrays[k] = names;
for(int m = 0;m < names.length();m++){
char c = names.charAt(m); //依次取出每个字母
int index = c-'A'; //
ch[index] = ch[index] + 1;// 对应字母出现则存储字母的数组加1
}
int numofalp = 0; //求出每个数组中不为0的元素的个数即为不同字母的个数
for(int n = 0;n < 26; n++){
if(ch[n]>= 1){
numofalp++;
}
}
numofcharacter[k] = numofalp; //将每个名字包含的字母数存储到数组中
}
int maxzhi = 0;
int maxzhiindex = 0;
for(int p = 0;p < numofnames;p++ ){ //求取每个案列中的最大值和其对应的名字
maxzhi = numofcharacter[0];
if(numofcharacter[p] > maxzhi){
maxzhi = numofcharacter[p];
maxzhiindex = p;
}
}
System.out.println("Case #"+ j +":" +" " + nameofarrays[maxzhiindex]);
bufw.write("Case #"+ j +":" +" " + nameofarrays[maxzhiindex]);
bufw.newLine();
}
bufr.close();
fr.close(); //将FileReader流关闭
bufw.close();
out.close(); // 将输出流关闭
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Kickstart Practice Round 2017---A的更多相关文章
- Kickstart Practice Round 2017 Google
Problem B. Vote A and B are the only two candidates competing in a certain election. We know from po ...
- Google kickstart 2022 Round A题解
Speed Typing 题意概述 给出两个字符串I和P,问能否通过删除P中若干个字符得到I?如果能的话,需要删除字符的个数是多少? 数据规模 \[1≤|I|,|P|≤10^5 \] 双指针 设置两个 ...
- Practice Round China New Grad Test 2014 报告
今天有Google of Greater China Test for New Grads of 2014的练习赛,主要是为了过几天的校园招聘测试做练习用的,帮助熟悉平台,题目嘛,个人觉得除了A题外, ...
- Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017)ABCD
A. Arpa and a research in Mexican wave time limit per test 1 second memory limit per test 256 megaby ...
- Codeforces Round #432 (Div. 1, based on IndiaHacks Final Round 2017) D. Tournament Construction(dp + 构造)
题意 一个竞赛图的度数集合是由该竞赛图中每个点的出度所构成的集合. 现给定一个 \(m\) 个元素的集合,第 \(i\) 个元素是 \(a_i\) .(此处集合已经去重) 判断其是否是一个竞赛图的度数 ...
- D. Arpa and a list of numbers Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017)
http://codeforces.com/contest/851/problem/D 分区间操作 #include <cstdio> #include <cstdlib> # ...
- 【前缀和】【枚举倍数】 Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) D. Arpa and a list of numbers
题意:给你n个数,一次操作可以选一个数delete,代价为x:或者选一个数+1,代价y.你可以进行这两种操作任意次,让你在最小的代价下,使得所有数的GCD不为1(如果全删光也视作合法). 我们从1到m ...
- 【推导】【暴力】Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) C. Five Dimensional Points
题意:给你五维空间内n个点,问你有多少个点不是坏点. 坏点定义:如果对于某个点A,存在点B,C,使得角BAC为锐角,那么A是坏点. 结论:如果n维空间内已经存在2*n+1个点,那么再往里面添加任意多个 ...
- 【推导】Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) B. Arpa and an exam about geometry
题意:给你平面上3个不同的点A,B,C,问你能否通过找到一个旋转中心,使得平面绕该点旋转任意角度后,A到原先B的位置,B到原先C的位置. 只要A,B,C构成等腰三角形,且B为上顶点.那么其外接圆圆心即 ...
随机推荐
- Percona XtraBackup 备份还原篇
Percona XtraBackup 安装介绍篇已经对Percona XtraBackup的功能和安装做了比较详细的介绍,那么本篇我们直接进入主题,如何使用XtraBackup做备份.还原,下面主要介 ...
- myeclipse10 blue版激活码
http://blog.itpub.net/27042095/viewspace-1164998/
- 你的MySQL服务器开启SSL了吗?SSL在https和MySQL中的原理思考
最近,准备升级一组MySQL到5.7版本,在安装完MySQL5.7后,在其data目录下发现多了很多.pem类型的文件,然后通过查阅相关资料,才知这些文件是MySQL5.7使用SSL加密连接的.本篇主 ...
- Windows Server 2016-清理残留域控信息
本章紧接上文,当生产环境中域控出现问题无法修复以后,一方面我们需要考虑抢夺FSMO角色,另一方面我们需要考虑的问题是清理当前域控的残留信息,以防止残留数据信息导致用户验证或者解析异常等问题.本章讲到如 ...
- 5. svg学习笔记-坐标系变换
之前我们编写图形元素的时候,编写好了位置大小就是固定的,通过坐标系变换,可以移动缩放,旋转图形,但必须声明的是,进行变换时是图形相对于坐标系的变化,就是图形是不发生变化的,而是坐标系发生了变化,比如缩 ...
- monkeyrunner.bat运行python脚本/命令行
http://luochunfeng163.blog.163.com/blog/static/1670092492014258914775/
- C#基础知识之string[ ] args
转载:http://blog.sina.com.cn/s/blog_8b7263d1010172jv.html C#控制台程序中static void Main(string[ ] args) str ...
- docker1.13.1的安装与卸载及mysql5.5安装实例
docker中国官方地址:https://www.docker-cn.com/ 您可以使用以下命令直接从该镜像加速地址进行拉取: $ docker pull registry.docker-cn.co ...
- win10上如何启用或禁用Windows功能
Windows10上提供了很多的功能,比如打印服务.传真服务.媒体服务等,怎样启用或禁用某些Windows功能呢? 工具/原料 windows10 方法/步骤 点击左下角的Windows图 ...
- tape ——cf
B. Tape time limit per test 1 second memory limit per test 256 megabytes input standard input output ...