计分板
来源:互联网 发布:sql server 2016 安装 编辑:程序博客网 时间:2024/04/27 23:43
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <map>
#include <stdlib.h>
using namespace std;
string stander("C,I,R,U,E");
typedef struct contest
{
int m_index;//队伍
int m_dequeIndex;//题目编号
int m_timer;//时间
string m_state;//状态
}InfoContest;
typedef struct resultData
{
int m_index;//队伍
int m_sumSubject;//题目总数
int m_sumTime;//总时间
}ResultData;
#define M 100
int resultIndex =0;
vector<InfoContest> g_source;
ResultData g_dest[M];
vector<ResultData> g_destResult;
void create()
{//测试数据
InfoContest t1;
t1.m_index =1;
t1.m_dequeIndex =2;
t1.m_timer =10;
t1.m_state =string("I");
g_source.push_back(t1);
InfoContest t2;
t2.m_index =3;
t2.m_dequeIndex =1;
t2.m_timer =11;
t2.m_state =string("C");
g_source.push_back(t2);
InfoContest t3;
t3.m_index =1;
t3.m_dequeIndex =2;
t3.m_timer =19;
t3.m_state =string("R");
g_source.push_back(t3);
InfoContest t4;
t4.m_index =1;
t4.m_dequeIndex =2;
t4.m_timer =21;
t4.m_state =string("C");
g_source.push_back(t4);
InfoContest t5;
t5.m_index =1;
t5.m_dequeIndex =1;
t5.m_timer =25;
t5.m_state =string("C");
g_source.push_back(t5);
}
bool Comp(constInfoContest &a,constInfoContest &b)
{
return a.m_index < b.m_index ;
}
void qSort()
{//按选手编号从小到大排序
sort(g_source.begin(),g_source.end(),Comp);
}
void find()
{//过滤
int tempIndex = 0;
for (int i =0;i < g_source.size();i++)
{
for (int j = i;j <g_source.size(); j++)
{
if (g_source[i].m_index == g_source[j].m_index)
{
if (g_source[j].m_state =="I")
{
g_dest[resultIndex].m_index =g_source[j].m_index;
g_dest[resultIndex].m_sumTime +=20;
tempIndex = j;
}
else if (g_source[j].m_state =="C")
{
g_dest[resultIndex].m_index =g_source[j].m_index;
g_dest[resultIndex].m_sumSubject++;
g_dest[resultIndex].m_sumTime +=g_source[j].m_timer;
tempIndex = j;
}
}
}
g_destResult.push_back(g_dest[resultIndex]);
resultIndex++;
i = tempIndex;
}
}
bool Comp1(constResultData &a,constResultData &b)
{//题目数降序
return a.m_sumSubject < b.m_sumSubject ;
}
bool Comp2(constResultData &a,constResultData &b)
{//时间升序
return a.m_sumTime > b.m_sumTime ;
}
//打印
void shown()
{
sort(g_destResult.begin(),g_destResult.end(),Comp1);//题目数降序
sort(g_destResult.begin(),g_destResult.end(),Comp2);//时间升序
for (int i =0;i < g_destResult.size();++i)
{
cout<<g_destResult[i].m_index<<endl;
cout<<g_destResult[i].m_sumSubject<<endl;
cout<<g_destResult[i].m_sumTime<<endl;
}
}
- 计分板
- 计分
- POJ - 3335 旋转计分板nlog n
- UVa Problem 10258 Contest Scoreboard (比赛计分板)
- cocos2dx 之如何创建label 做计分板
- FlappyBird开发总结(七)—— GameOver计分板
- 网球计分
- 大奖赛计分
- 大奖赛计分
- 大奖赛计分。
- 大奖计分
- 大奖赛计分
- 大奖赛计分
- 大赛计分
- 计分准则
- 大奖赛计分
- 大赛计分
- 大奖赛计分
- isinstance bool int
- java设计模式--抽象工厂
- 右键显示用sublime打开
- ubuntu之使用phpmyadmin
- vector erase 重复删除容器内的指定内容时,使用迭代器(iterator)++的操作应该放到For循环内
- 计分板
- php用正则判断是否为数字
- jQuery 自学笔记—7 AJAX
- SpringMVC view视图显示 XML JSON
- 深度解析高通RF360移动射频前端解决方案
- 【cocos2d-x官方文档】怎么使用pthread
- JAVA项目(非web项目)部署到windows服务器运行
- 数据库sql server简单的几条命令
- vc 通过ado写入数据库