题目解析
求出给定字符串当中每个字母出现的次数,然后在给定每个字母的美观分时,求出整个字符串的总体美观分。
解题思路
对于给定字符串当中的每个字母计数即可。
然后在求出总体美观分。
代码
import java.io.*;
import java.math.*;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
String S = sc.next();
char s[] = S.toCharArray();
int shu[] = new int[26 + 10]; // 存储每个字母的分数
for (int i = 0; i < 26; i++) shu[i] = sc.nextInt();
int cnt[] = new int[26 + 10]; // 存储每个字母出现的次数
int ans = 0; // 存储总美观的分数
for (int i = 0; i < s.length; i++)
{
int x = s[i] - 'a';
ans += shu[x];
cnt[x]++;
}
for (int i = 0; i < 26; i++)
{
if (i != 0) out.print(" ");
out.print(cnt[i]);
}
out.println();
out.println(ans);
out.flush();
out.close();
}
static Scanner sc = new Scanner(System.in);
static PrintWriter out = new PrintWriter(System.out);
}