`
ccjsjymg
  • 浏览: 61070 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

0002组队参赛规则

阅读更多
引用

一个参赛队伍不能超过三人,可以拥有一个替补。包括替补在内任何参赛队员必须为高中毕业五年内,才可以参赛,
也就是说研究生一年级的学生还可以参加。
现在的问题是给你一个队伍,请判断这个队伍是否合法。
输入数据:
输入数据包括若干组,每一组包括有若干行,第一行为一个整数N,为这个队伍的人数,接着有N行,每
一行包括一个字符串(字符串中间没有空格)和一个整数,
字符串表示队员姓名,整数表示这个队员高中毕业的年份(2009表示已经毕业)。
输出数据:
请判断输入的那组数据是否能够成一个合法的赛队,如果合法则输出yes,否则输出no。(现在的年份是2009年)
分享到:
评论
2 楼 ccjsjymg 2009-04-12  
#include <iostream>
#include <string>
using namespace std;
int currentTime = 2009;//当前时间 
int range = 5;//参赛年份范围 

struct gameGroup
{
      string name;
      int graduationTime;
};
bool confirmRules(int gamePersonCount,gameGroup *p);
void rules()
{    
     int gamePersonCount = 0;
     cout<<"请输入小组参赛人数:"<<endl;
     cin>>gamePersonCount;
     if(gamePersonCount > 3)
          return;
     gameGroup group[gamePersonCount],*p;
     p = group;
     int i = 0;
     while(i < gamePersonCount)
     {
          p = p+i;
          cin>>p->name>>p->graduationTime;
          i++;
     }
     /*for(int i = 0;i < gamePersonCount;i++)
     {
          cin>>group[i].name>>group[i].graduationTime;
     }*/
    bool f = confirmRules(gamePersonCount,p);
    if(f)
         cout<<"yes"<<endl;
    else
         cout<<"no"<<endl;
    
}
bool confirmRules(int gamePersonCount,gameGroup *p)
{
     bool f = true;
     for(int i = 0;i < gamePersonCount;i++)
     {
          p = p+i;
          int pp = p->graduationTime;
          if(currentTime - pp > range)
          {
              f = false;         
              break;
          }
     }
     return f;
}
int main()
{
  rules();
  system("PAUSE");
  return 0;
}
1 楼 ccjsjymg 2009-04-12  
package util;

import java.util.Calendar;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 组队比赛规则
 * @author zhanglu
 */
public class GroupRules {
	private static final int MEMBERS = 3;
	private static final int TIME_SPAN = 5;
	private static String name;
	private static int graduationTime;
	public static void main(String agrs[]){
		if(isPass()){
			System.out.println("yes");
		}else{
			System.out.println("no");
		}
	}
	public static boolean isPass(){
		int[] array = intputInfo();
		if(array == null ) return false;
		int i = 0;
		boolean flag = true;
		Calendar c = Calendar.getInstance();
		int currentTime = c.get(Calendar.YEAR);
		while(i < array.length){
			if(currentTime - array[i] > TIME_SPAN){
				flag = false;
				break;
			}
			i++;
		}
		return flag;
	}
	private static int[] intputInfo(){
		System.out.println("请输入小组参赛人数:");
		Scanner scanner = new Scanner(System.in);
		String regex = "\\d+";
		String ss = scanner.nextLine();
		while(!pattern(regex, ss.trim())){
			System.out.println("对不起请输入整数");
			scanner = new Scanner(System.in);
			ss = scanner.nextLine();
		}
		int cout = Integer.parseInt(ss.trim());
		if(cout > MEMBERS){
			return null;
		}
		int[] array = new int[cout];
		int i = 0;
		System.out.println("请输入"+cout+"个人信息:");
		while(i < cout){
			scannerUtil();
			array[i] = graduationTime;
			i++;
		}
		return array;
	}
	private static void scannerUtil(){
		Scanner scanner = new Scanner(System.in);
		String line = scanner.nextLine();
		String[] str = split(line," ");
		if(str == null) return;
		String regex = "\\d{4}";
		while("".equals(str[1]) || !pattern(regex,str[1])){
			System.out.println("请重新输入信息:");
			scanner = new Scanner(System.in);
			line = scanner.nextLine();
			str = split(line," ");
		}
		name = str[0];
		graduationTime = Integer.parseInt(str[1]);
	}
	private static String[] split(String line,String splitPattern){
		if(line.trim().indexOf(" ")== -1) return null;
		String regex = "\\s+";
		boolean flag = pattern(regex,splitPattern);
		if(flag){
			return line.split(regex);
		}
		return null;
	}
	private static boolean pattern(String regex,String splitPattern){
		if("".equals(splitPattern) || splitPattern == null) return false;
		Pattern pattern = Pattern.compile(regex);
		Matcher m = pattern.matcher(splitPattern);
		return m.matches();
	}
}

相关推荐

    跳绳比赛规则.doc

    中间如果因跳绳参赛人员出现失误,导致跳绳比赛中断而仍在比赛时间内的,可按比赛规则继续进行(中断时间计作比赛时间内)。 五、三人跳长绳 * 参赛队伍要求:3 人,其中 2 人摇绳,1 人跳绳(男女不限,中外员工...

    2011美国大学生数学建模竞赛规则翻译

    2011美国大学生数学建模竞赛规则翻译: 包括如何组队,如何报名,比赛注意事项,比赛规则等。

    ACM赛的基本流程.doc

    比赛准备:在比赛开始前,参赛队伍需要深入研究往年的比赛题目,了解竞赛规则和标准算法,并选择合适的编程语言和开发环境。这个阶段对于后续的比赛表现至关重要。 比赛过程:竞赛通常持续5个小时,期间每队会收到...

    机器人比赛策划书.docx

    三组的比赛规则和难易也各不相同,参赛队可根据自身水平选择进入何组,然后在规定时间内,按照所进组的要求自行制作出相应的机器人(品种不限),最后再进行比赛。 七、活动安排 本次比赛的安排包括协会内部的准备...

    XXXX江苏省职业技能大赛物联网应用技术项目竞赛规程.pdf

    本资源摘要主要介绍了XXXX江苏省职业技能大赛物联网应用技术项目竞赛规程的相关知识点,总体来说,竞赛规程涵盖了物联网应用技术项目的各个方面,包括赛项名称、组队及比赛方式、竞赛项目内容与规则、竞赛时间安排与...

    工会文体活动方案.pdf

    * 规则:循环赛制,原则上按国际篮球比赛规则 * 奖励:取前三名 第二部分:个人和团体乒乓球赛 * 负责人:程光新吴发平 * 时间:11月-12月 * 要求:以个人自愿原则到各年级负责人处报名 * 规则:原则上按国际乒乓...

    mooc-ds-kaggle:Kaggle比赛介绍

    kaggle参赛可以个人参赛或者组队参赛,好像单打独斗的可以随时组队或者直接加入某队,一般的比赛team和team之间也可合并成一个大的team(具体可以查看每个比赛的详细规则)。每天可以提交结果的次数有上限,按人头算...

    2016年全国职业院校技能大赛化工生产技术赛项高职组竞赛内容简介.doc

    * 组队要求:省、自治区、直辖市组队参赛,每个学校限报 1 支参赛队,每个参赛队的比赛选手为 3 人 五、知识点解析 (一)化工专业知识考核 * 化工根底数据 * 化工生产根底知识 * 化工工艺 * 化工机械与设备 * ...

    关于举办公司电子竞技大赛的通知.doc

    二、反恐精英(CS【1.6中文版】)比赛规则 1、参赛者除了修改按键设置外,未经裁判同意不得随意更改其他设置。比赛不允 许使用游戏本身存在的BUG,不得使用任何脚本文件,包括改肤表等等,不得使用超级跳 ,更加不...

    竞赛资料源码-Android 挑战赛项目 一个基于大学生竞赛信息分享组队平台.zip

    也适合小白学习进阶,可以用作比赛项目、可以进行项目复刻去参加同赛道比赛。 【资源内容】: 源码与竞赛资料:教育部认可的大学生竞赛备赛资料代码、源码、竞赛总结。 功能与质量保证:这个资源库是一个宝贵的学习...

    关于举办公司电子竞技大赛的通知.docx

    联系电话: 附件2: 电子竞技大赛比赛规则 一、英雄联盟(LOL)比赛规则 关于举办公司电子竞技大赛的通知全文共5页,当前为第3页。1、比赛开始10分钟内若有选手掉线(非人为),且不能在5分钟内重连成功,比赛重新...

    关于举办公司电子竞技大赛的通知(1).docx

    1 XXX XX XXX 2 XX 3 XX 4 XX 5 XX 6 XX 7 XX 8 XX 战队联系人:联系电话: 附件2: 电子竞技大赛比赛规则 一、英雄联盟(LOL)比赛规则 关于举办公司电子竞技大赛的通知(1)全文共6页,当前为第4页。1、比赛开始10...

    机械设计论文-大学生方程式赛车设计(发动机匹配试算与装配设计)(有cad图+三维图).zip

    本文具体研究大学生方程式赛车(FSAE)发动机系统的匹配试算和结构设计,通过了解发动机的性能参数、结构参数,运用发动机原理,汽车构造等所学的知识,根据大学生方程式赛车的比赛规则及网上查询资料,对发动机进行...

    全国职业院校技能大赛中职组《电子商务运营技能》赛项规程.docx

    以院校为单位组队参赛,不得跨校组队,同一学校相同项目报名参赛队不超过1支。每队4名选手,不超过2名指导教师。本赛项不邀请国际团队参赛,欢迎国际团队观摩。 全国职业院校技能大赛中职组《电子商务运营技能》赛项...

    网页设计大赛.doc

    ) 八、比赛规则及计分方法: (1)初赛评选方法: 由评委会相关人员评选出较好作品入围复赛。 (2)决赛评分标准 (总分 100分): 1、内容20分 是否是否反映了指定设计内容的特点 创意水平的高低 2、常规技术40分 ...

    网页设计大赛策划书优秀.docx

    2、参赛队可以是个人组队,也可以是团体组队(团体组队不得超过3人) 六、竞赛规则 (一)网页内容: 1、网页文本撰写应富于文采并表达社团、班级或个人特色; 2、网页内容应符合主题要求,构思新颖,有特别之处; 3、...

    辩论赛活动策划方案书.doc

    (1)初赛:我院大一各专业分别派出一个队参加,另外再采取自由报名方式报名,随机组队,参赛队伍预计八支,详细流程见附页。 (2)复赛:进入复赛的参赛队,抽签决定正反方并决定辩题,X月X日下午进行辩论赛复赛,...

    推选文档ACMICPC国际大学生程序设计竞赛PPT.ppt

    每个阶段都有不同的评判标准和比赛规则。 地方赛是由各高校自行举办的,选取学校代表队。初级赛是网上举办的,由各高校组队,优胜队伍晋级地区赛。亚洲地区赛是每年九月至十一月间举办的,选取亚洲地区的优胜队伍。...

    机械设计-大学生方程式赛车设计(整体车架设计、标准安全系统及座椅附件设计)(有exb图+三维图).zip

    各参赛车队按照赛事规则和赛车制造标准,在一年的时间内自行设计和制造出一辆在加速、制动、操控性等方面具有优异表现的小型单人座休闲赛车,能够成功完成全部或部分赛事环节的比赛。 2010年第一届中国FSC由中国...

    山西省职业院校技能大赛高职组大数据技术与应用赛项规程2资料全.doc

    本赛项为团体赛,每支参赛队由 3 名参赛选手组成,须为同校在籍学生,不允许跨校组队,其中队长 1 名。竞赛时间为 4 个小时,竞赛连续进行。竞赛流程包括: 1. 报到和赛前准备 2. 竞赛开始和试题发放 3. 正式比赛和...

Global site tag (gtag.js) - Google Analytics