zoukankan      html  css  js  c++  java
  • PAT-乙级-1059 C语言竞赛

    C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:

    • 0、冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。
    • 1、排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!
    • 2、其他人将得到巧克力。

    给定比赛的最终排名以及一系列参赛者的 ID,你要给出这些参赛者应该获得的奖品。

    输入格式:

    输入第一行给出一个正整数 N(≤105),是参赛者人数。随后 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?



    分析:
      建立一个id数组,将名次存在此数组中
      建立一个visit数组,将已经访问过的id标记
      依次判断输入的id属于哪一类
      按要求输出即可
      PS
        可以选择使用结构体


     1 //c99
     2 
     3 #include <stdio.h>
     4 
     5 int isprime(int n){
     6   if(n==2||n==3)
     7     return 1;
     8   for(int i=2;i*i<=n;i++)
     9     if(n%i==0)
    10       return 0;  
    11   return 1;
    12 }
    13 
    14 
    15 int main(){
    16   int n,m,x;
    17   int id[10010]={0};
    18   int visit[10010]={0};
    19   scanf("%d",&n);
    20   for(int i=0;i<n;i++){
    21     scanf("%d",&x);
    22     id[x]=i+1;
    23   }
    24   scanf("%d",&m);
    25   for(int i=0;i<m;i++){
    26     scanf("%d",&x);
    27     if(visit[x]){
    28       printf("%04d: Checked
    ",x);
    29       continue;
    30     }
    31     if(id[x]){//id存在
    32       if(id[x]==1)
    33         printf("%04d: Mystery Award
    ",x);
    34       else if(isprime(id[x]))
    35         printf("%04d: Minion
    ",x);
    36       else
    37         printf("%04d: Chocolate
    ",x);
    38       visit[x]=1;
    39     }
    40     else{//id不存在
    41       printf("%04d: Are you kidding?
    ",x);
    42     }
    43   }
    44   return 0;
    45 }
     
  • 相关阅读:
    void类型和void *指针类型(网上摘抄总结)【转】
    微信小程序中的canvas基础应用
    Google Interview University 一套完整的学习手册帮助自己准备 Google 的面试
    git使用教程(详细)
    Vue下载依赖遇到的一些bug
    原生Javascript客户端表单验证
    ASP MVC 后台控制器弹出框提示
    网页URLJs传值传值传值传值传值问题
    从零开始,搭建博客系统MVC5+EF6搭建框架(1),EF Code frist、实现泛型数据仓储以及业务逻辑
    弹出提示框,在跳转
  • 原文地址:https://www.cnblogs.com/tenjl-exv/p/10080163.html
Copyright © 2011-2022 走看看