首页 > 编程语言 > 详细

1059 C语言竞赛

时间:2020-02-23 14:17:00      阅读:42      评论:0      收藏:0      [点我收藏+]

水题,hash题。

#include<iostream>
#include<cmath>
using namespace std;

int hashtable[10000] = {0};
bool isPrime(int n) { //判断是否是素数
    if(n <= 1) return false;
    int t = sqrt(n);
    for(int i = 2; i <= t; ++i)
        if(n%i == 0) return false;
    return true;
}
int main() {
    int n,id,k;
    scanf("%d",&n);
    for(int i = 1; i <= n; ++i) {
        scanf("%d",&id);
        if(i == 1) hashtable[id] = 1;
        else if(isPrime(i)) hashtable[id] = 2;
        else hashtable[id] = 3;
    }
    scanf("%d",&k);
    while(k--) {
        scanf("%d",&id);
        printf("%04d: ",id);
        if(hashtable[id] == 0)//表示不存在 
            printf("Are you kidding?\n");
        else if(hashtable[id] == 1)//冠军 
            printf("Mystery Award\n");
        else if(hashtable[id] == 2)//素数排名 
            printf("Minion\n");
        else if(hashtable[id] == 3)//其他人 
            printf("Chocolate\n");
        else                    //已经查询过的人 
            printf("Checked\n");
        if(hashtable[id] != 0)
            hashtable[id] = 4;//置为已经查询过
    }
    return 0;
}

技术分享图片

 

1059 C语言竞赛

原文:https://www.cnblogs.com/keep23456/p/12349136.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!