标签:i++ ret pack pre rgs ++ 素数 system ack
C语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:
0. 冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。
1. 排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!
2. 其他人将得到巧克力。
给定比赛的最终排名以及一系列参赛者的ID,你要给出这些参赛者应该获得的奖品。
输入格式:
输入第一行给出一个正整数N(<=10000),是参赛者人数。随后N行给出最终排名,每行按排名顺序给出一位参赛者的ID(4位数字组成)。接下来给出一个正整数K以及K个需要查询的ID。
输出格式:
对每个要查询的ID,在一行中输出“ID: 奖品”,其中奖品或者是“Mystery Award”(神秘大奖)、或者是“Minion”(小黄人)、或者是“Chocolate”(巧克力)。如果所查ID根本不在排名里,打印“Are you kidding?”(耍我呢?)。如果该ID已经查过了(即奖品已经领过了),打印“ID: Checked”(不能多吃多占)。
输入样例:
6 1111 6666 8888 1234 5555 0001 6 8888 0001 1111 2222 8888 2222
输出样例:
8888: Minion 0001: Chocolate 1111: Mystery Award 2222: Are you kidding? 8888: Checked 2222: Are you kidding?
1 package com.hone.basical; 2 import java.util.Scanner; 3 /** 4 * 原题目:https://www.patest.cn/contests/pat-b-practise/1059 5 * @author Xia 6 * 字符串的处理问题 7 * 利用flag=0判断查询的id是否在排名中 8 */ 9 10 public class basicalLevel1059CproCompition { 11 12 public static void main(String[] args) { 13 Scanner in = new Scanner(System.in); 14 int N = Integer.parseInt(in.nextLine()); //参赛人数 15 16 String[] a = new String[N]; //排名 17 for (int i = 0; i < N; i++) { 18 a[i] = in.nextLine(); 19 } 20 21 int[] index = new int[N]; //默认所有的人都没有得过奖 22 23 int k =Integer.parseInt(in.nextLine()); 24 for (int i = 0; i < k; i++) { 25 int flag = 0; //用于判断id是否存在于待检测中 26 String m = in.nextLine(); 27 for (int j = 0; j < a.length; j++) { 28 if (m.equals(a[j])) { 29 index[j]++; //如果得过奖则+1 30 flag = 1; 31 if (index[j] > 1) { 32 System.out.println(m+ ": Checked"); 33 break; 34 } 35 else if (j==0) { 36 System.out.println(m+ ": Mystery Award"); 37 break; 38 } 39 else if (isPrime(j+1)) { 40 System.out.println(m+ ": Minion"); 41 break; 42 }else { 43 System.out.println(m+ ": Chocolate"); 44 break; 45 } 46 } 47 } 48 if (flag == 0) 49 System.out.println(m+ ": Are you kidding?"); 50 } 51 } 52 53 private static boolean isPrime(int i) { 54 if (i== 1){ 55 return false; 56 }else if (i == 2) { 57 return true; 58 }else{ 59 for (int j = 2; j <= Math.sqrt((double)i); j++) { 60 if (i%j==0) 61 return false; 62 } 63 } 64 return true; 65 } 66 }
标签:i++ ret pack pre rgs ++ 素数 system ack
原文地址:http://www.cnblogs.com/xiaxj/p/8004475.html