`
ccjsjymg
  • 浏览: 62276 次
  • 性别: 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 人跳绳(男女不限,中外员工...

    竞赛组队小软件VB源代码

    同时,“3VS.3,4VS.4形式的自动组队”表明软件具备智能算法,可以将队员按照预设的队伍规模进行合理分配,确保每个队伍的人员数量符合比赛规则。“可根据人数自动确定比赛场数”意味着系统能够动态调整,根据报名...

    直升机比赛规则讲解.docx

    1. 中国航协的个人会员、团体会员和基层团体会员可以组队参赛,每队包含飞行员、飞行助手、机械师和领队。 2. 每队最多三人,性别不限。若3个或以上队员为女性,将设立女子组。 3. 参赛队员必须参与所有比赛科目,...

    Imagine Cup 2011软件设计中国区比赛规则.docx

    比赛规则中明确要求参赛团队必须提交项目计划书,这是考察团队创意和项目可行性的重要环节。项目计划书应包括作品构思、计划以及基于提供的模板撰写的详细报告。报告中必须涵盖作品的必备元素和实现细节,这不仅是...

    【拔河比赛规则】拔河规则及技巧精选.doc

    【拔河比赛规则】拔河是一项团队竞技活动,要求参赛者通过集体的力量对抗,将对方拉过预定的界线以赢得比赛。以下是拔河比赛的详细规则和技巧: 1. **拔河道设置**:拔河道是由三条间距为200CM的直线划定,中间线为...

    智能汽车创意设计大赛比赛规则全套资源无偿提供

    本次比赛提供的全套资源包括了比赛规则,这对于参赛者理解和准备比赛至关重要。 首先,我们要关注《智能汽车创意设计大赛比赛规则.pdf》这份文档。它应详细阐述了比赛的组织结构、参赛资格、项目要求、评分标准、...

    智能汽车创意设计大赛比赛规则大全全部免费提供

    - **团队组成**:可以个人参赛,也可以组队参赛,团队成员数量可能有限制。 #### 三、报名流程 - **报名时间**:一般会在比赛前几个月公布具体的报名时间,参赛者需关注官方通知。 - **报名方式**:在线提交报名表...

    电脑鼠走迷宫竞赛规则

    - 可以个人参赛,也可以组队参加,每队最多五人。 - 四人或五人团队中最多允许两名研究生。 - 二人或三人团队中最多允许一名研究生。 - 单独由一名研究生组成的团队不允许参赛。 4. **报名时间**:所有希望参加...

    Imagine Cup 2011软件设计中国区比赛规则.pdf

    团队规模限定在1到4名学生之间,允许不同学校的学生组队,但团队需代表同一所学校参赛,每队最多只能有一名指导老师。这样的规定既考虑了队伍之间的多样性,又确保了团队的协作和竞争在公平的条件下进行。 比赛的...

    database_publish_game:发布比赛活动信息,线上报名,组队参赛

    数据库发布游戏平台是一种在线系统,主要用于发布比赛活动信息,实现线上报名,并且支持用户组队参赛。这样的系统在当今数字化的时代中,为各种竞赛活动提供了便捷的管理与参与方式。本项目基于Java技术栈开发,这...

    美赛备赛资料大全,包括比赛网址、常用词语、翻译注意事项、论文习作要求、组队要求、建模参考网址等

    参赛者应关注官方更新,以获取最新比赛动态和规则。 2. **论文摘要页要求**: - 报告的第一页通常是摘要页,需使用12点Times New Roman字体,以Adobe PDF格式提交,且全篇论文都应使用至少12点大小的可读字体,...

    学科竞赛训练管理系统是一个提供于高校老师与学生日常比赛训练的系统。提供了比赛报名,成绩录入,自由组队,水平分析等等功能。.zip

    5. **通知公告**:系统可以发布比赛相关信息,如赛程安排、规则变更、重要提醒等,确保所有参与者都能及时接收到关键信息。 6. **资源管理**:系统可能包含一个资源库,存储历年的试题、参考答案、解题策略等,供...

    美赛备赛规则简介资料.docx

    为了成功参赛,团队需要充分准备,理解比赛规则,掌握建模技巧,同时还需要良好的团队协作能力和时间管理能力。参赛者可以从过往的题目和获奖论文中学习,了解评委的评价标准,以及如何将数学模型与实际问题紧密结合...

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

    比赛规则 - **独立完成**:参赛队必须独立完成所有工作,不得与其他队伍交流或寻求外部帮助。 - **公平竞争**:禁止任何形式的作弊行为,如抄袭他人的解决方案、伪造数据等。 - **保密原则**:参赛队在竞赛期间不得...

    全国大学生操作系统比赛2023相关信息.zip

    操作系统设计是一个复杂而细致的工程,比赛规则会明确指出系统设计的具体要求,如系统架构、安全性、稳定性、性能指标等。此外,规则可能还包括代码规范、提交格式、知识产权保护等方面的细节,参赛队伍必须严格遵守...

    体育部拔河比赛策划书.doc

    五、拔河比赛规则 1. 报到:比赛开始前,各队需在指定地点签到,如需调整比赛时间需提前告知。 2. 队员人数:每队20人,可灵活调整男女比例。 六、比赛方法 比赛分为淘汰赛、半决赛和决赛,采用三局两胜制。淘汰赛...

    策划篮球比赛吸引报名的文案.docx

    - 比赛规则:需制定详细的比赛规则,包括赛前登记、赛后的确认程序、比赛时间、加时赛规则等。 - 特殊规定:如收取参赛费用、解析权归属等。 - **奖励方法**:明确奖项设置,包括奖金、奖项名称等,激励参赛队伍的...

    篮球比赛活动策划书2022年[扫描版].pdf

    2. **面向对象**:比赛主要针对能动专业的大二、大三年级学生,以班级为单位组队参赛。 3. **比赛时间与场地**:比赛计划于XX年9月12日至9月23日在西篮球场举行。 4. **奖励办法**:前三名的队伍将获得奖励,激励...

    CSP比赛备战策略:全面解析赛前准备、比赛技巧及赛后反思

    首先强调了对比赛规则与环境的熟悉度、团队组队与分工、系统学习算法和数据结构以及心理准备的重要性。接着阐述了初赛的时间管理和答题技巧,并针对复赛提出了详细的代码编写、调试测试和心态调整建议。最后,强调了...

    数学建模-2.参赛校须知.zip

    2. **比赛规则**:参赛校须知中会详细列出比赛的规则,包括组队方式(单人或团队)、报名时间、比赛时间限制、模型提交格式等。此外,还会强调学术诚信,如禁止抄袭和作弊。 3. **选题与模型构建**:比赛通常会给定...

Global site tag (gtag.js) - Google Analytics