zoukankan      html  css  js  c++  java
  • PAT 甲级 1116 Come on! Let's C (20 分)

    思路:

    1.用两个大数组分别存储每个参赛者的rank,存储参赛者信息是否已被查阅;
    2.先判断参赛者的rank是不是0,如果是0则未参赛;
    3.其次查阅参赛者信息是否已被查阅;
    4.再判断他的rank是不是1;
    5.然后判断rank是不是素数;
    6.剩下的都拿巧克力;
    7.查阅后记得更新查阅数组;

    代码:

    #include<iostream>
    #include<cmath>
    int list[10000],hasChecked[10000];
    using namespace std;
    bool isPrime(int n){
    	if(n<2) return false;
    	int sqr=sqrt(n);
    	for(int i=2;i<=sqr;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);
    		list[id]=i;
    	}
    	scanf("%d",&k);
    	for(int i=0;i<k;i++){
    		scanf("%d",&id);
    		if(list[id]==0) printf("%04d: Are you kidding?
    ",id);
    		else{			
    			if(hasChecked[id]>0) printf("%04d: Checked
    ",id);
    			else if(list[id]==1) printf("%04d: Mystery Award
    ",id);
    			else if(isPrime(list[id])) printf("%04d: Minion
    ",id);
    			else printf("%04d: Chocolate
    ",id);
    			hasChecked[id]=1;
    		}	
    	}
    	return 0;
    }
    
  • 相关阅读:
    python闯关_Day012
    python闯关_Day010
    python闯关_Day009
    python闯关_Day008
    python闯关_Day07
    什么是PRD、MRD与BRD?
    Python中logging日志使用
    git一些常用的命令
    Python第三方库
    FastDFS分布式存储服务器安装
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12309026.html
Copyright © 2011-2022 走看看